出于好奇 – jQuery的triggerHandler的用途是什么?据我所知,触发器和触发器之间唯一的“真正的”差异就是本地事件是否触发,而事件冒泡的行为(尽管triggerHandler的冒泡行为看起来似乎很难在触发器中复制几行码)。确保本机事件不起火的优点是什么?
我很好奇,如果这是一个方便的功能,或者有更深的理由存在,以及为什么/当我使用它。
解决方法
从
http://api.jquery.com/triggerHandler/的文件
The .triggerHandler() method behaves
similarly to .trigger(),with the
following exceptions:
- The .triggerHandler() method does not cause the default behavior of an
event to occur (such as a form
submission).
不阻止默认浏览器操作允许您指定应用风格的焦点或选择等等上发生的操作。也许你有一个基于Javascript的动态菜单,所以你不想纯粹用CSS应用风格,否则那些禁用Javascript的人不会明白为什么布局看起来很奇怪。你可以使用像$(‘menu1select’)这样的东西。triggerHandler(‘click’);
- While .trigger() will operate on all elements matched by the jQuery
object,.triggerHandler() only affects
the first matched element.
如果你有一个隐藏元素的事件,例如,你想通常调用该函数,而不必指定每个元素,你可以使用$(‘。menu’)。triggerHandler(‘click’);
- Events created with .triggerHandler() do not bubble up the
DOM hierarchy; if they are not handled
by the target element directly,they
do nothing.
防止传播,可笑的不必解释这一个…
- Instead of returning the jQuery object (to allow chaining),
.triggerHandler() returns whatever
value was returned by the last handler
it caused to be executed. If no
handlers are triggered,it returns
undefined
这个也应该是自我解释的