6

事件只会冒泡,但有时需要在父元素上触发自定义事件,并使其调用其任何子元素上的所有处理程序(如果它们绑定了侦听器)。在 jQuery 中执行此操作的最佳方法是什么?

4

1 回答 1

3

到目前为止,我想出了这个:

$(startingParentElement).addBack().find('*').each(function(index,element){ 
    $(element).triggerHandler('myCustomEventName');
});
  • triggerHandler()确保事件不会冒泡
  • each()是必需的,因为triggerHandler()仅对匹配集合中的第一项执行
  • addBack()确保绑定到startingParentElement的处理程序也被调用
于 2013-01-14T10:23:36.307 回答