08-问题
9.2.1 问题
全局事件触发涉及在所有可用元素上调用某个事件绑定的所有事件处理程序。
调用 jQuery.trigger()
,不传递任何作为上下文的DOM元素就可以执行这一任务。
这几乎等于在所有绑定了一个或者多个对应事件的元素上调用 trigger()
,如:
jQuery('#a1,#a2,div.b5').trigger('someEvent');
全局触发明显更简单,因为你不需要知道需要触发的所有元素。
对于某些情况来说这很实用,但是有时候仍然是一个缓慢的过程。尽管从jQuery 1.3开始,全局触发已经得到优化,它仍然必须遍历注册到jQuery事件系统的所有元素。这可能导致在这样的事件触发时有短暂(或者不那么短)的停顿。