鑑於簡化文件這樣鼓泡的元素:確定哪些事件已經穿過
<div id="outerDiv">
<div id="innerDiv">
<input id="theInput" />
</div>
</div>
如果我點擊#theInput
,點擊事件將冒泡至#innerDiv
然後#outerDiv
。我想要做的就是在#outerDiv
上放置一個處理程序來監聽這些點擊,然後檢查「泡沫鏈」以查看哪些元素先前已收到相同的點擊事件。
因此,例如,點擊#theInput
#outerDiv
的處理程序會給我[#outerDiv, #innerDiv, #theInput]
。如果我的#theInput
之外點擊,但還在裏面#innerDiv
那麼結果將是[#outerDiv, #innerDiv]
只是爲了澄清,實際的文件不是如此簡單,而且有可能在各自爲任何數量的子女或兄弟姐妹水平。另外,當我參考#theInput
時,我指的是元素本身,也就是說,我沒有在尋找一個ID數組。最後,考慮到可能有任何數量的元素,我想避免爲中間元素添加額外的處理程序。
jQuery歡迎在我的房子裏。
難道你不能只從事件目標獲得「.parents()」列表嗎? – Pointy 2011-03-24 14:09:13