jQuery事件触发所有侦听器

时间:2011-07-28 13:57:21

标签: jquery

我有一个我自己制作的自定义事件,我希望在某些时候触发,与选择无关。

I.E - 我想做一些行为正常的事情

$("*").trigger('customEvent');

但jQuery文档警告说使用通用选择器非常慢。 有没有办法触发绑定到特定事件的所有对象而不必使用通用选择器$("*")

谢谢!

P.S - 我目前正在使用名为class的特定custom_event_listener并使用$('.custom_event_listener').trigger('customEvent')来避免使用通用选择器。我想知道是否有办法避免使用class

1 个答案:

答案 0 :(得分:15)

您可以在具有如下处理程序绑定的所有内容上触发事件:

$.event.trigger('customEvent'); 

This loops through $.cache to find what actually has a handler, then fires on those elements ...而不是仅仅找到每个元素并在每个元素上触发事件。