2013-01-14 91 views
5

事件只會泡起來,但有時需要觸發父元素上的自定義事件,並使其調用其任何子級上的所有處理程序(如果它們具有綁定到它們的偵聽程序)。在jQuery中做這件事的最好方法是什麼?泡泡自定義事件下降

回答

2

到目前爲止,我想出了這個:

$(startingParentElement).addBack().find('*').each(function(index,element){ 
    $(element).triggerHandler('myCustomEventName'); 
}); 
  • triggerHandler()確保該事件不會冒泡備份
  • 每()需要因爲triggerHandler()是僅在匹配集合中的第一項上執行
  • addBack()確保綁定到startingParentElement一個處理程序被調用過
+1

回加()是一個有趣的方法 –