我有一个我自己制作的自定义事件,我希望在某些时候触发,与选择无关。
I.E - 我想做一些行为正常的事情
$("*").trigger('customEvent');
但jQuery文档警告说使用通用选择器非常慢。
有没有办法触发绑定到特定事件的所有对象而不必使用通用选择器$("*")
?
谢谢!
P.S - 我目前正在使用名为class
的特定custom_event_listener
并使用$('.custom_event_listener').trigger('customEvent')
来避免使用通用选择器。我想知道是否有办法避免使用class
。
答案 0 :(得分:15)
您可以在具有如下处理程序绑定的所有内容上触发事件:
$.event.trigger('customEvent');
This loops through $.cache
to find what actually has a handler, then fires on those elements ...而不是仅仅找到每个元素并在每个元素上触发事件。