关键是自定义事件的性能大大提高,这些事件通常不需要事件冒泡,并且能够安全地调用任何事件名称而不会触发浏览器跟踪链接、重置或提交表单等本机操作。
对于$(".item").trigger("click");
:
与 不同的是,该事件在使用- 选择器选择.triggerHandler
的所有元素上触发。.item
与 不同.triggerHandler
的是,该事件在所有带有 -selector 的元素的所有父母、祖父母、祖父母等上.item
触发。
不像,你可以在你可以做.triggerHandler
之后继续链接.trigger()
$(".item").trigger("click").addClass("clicked");
使用以下 DOM 树,我用 X 标记- 事件在被调用"click"
时触发的位置:$(".item").trigger("click");
<body X>
<div class="container" X>
<ul X>
<li class="item" X>
<li class="item" X>
<li class="item" X>
<li class="item" X>
</ul>
</div>
</body>
和这里一样$(".item").triggerHandler("click");
<body>
<div class="container">
<ul>
<li class="item" X>
<li class="item">
<li class="item">
<li class="item">
</ul>
</div>
</body>