gdo*_*ica 5 performance jquery event-bubbling event-propagation jquery-events
如果我不是false从事件回调或使用e.stopPropagationjQuery的功能返回,则该事件会使DOM冒泡。
在大多数情况下,我都不关心事件是否冒泡。类似于此DOM结构示例:
?<div id="theDiv">
<form id="theForm" >
<input type="submit" value="submit"/>
</form>
</div>???????????????????????????????????????????????????????????????????????????????????????????
Run Code Online (Sandbox Code Playgroud)
通常,我没有这样的多个嵌套的提交回调:
$('#theDiv').submit(function() {
alert('DIV!');
});
$('#theForm').submit(function(e) {
alert('FORM!');
e.preventDefault();
});?
Run Code Online (Sandbox Code Playgroud)
小提琴
DEMO显示submit事件冒泡到<div>!
如果我停止传播或只是阻止默认设置,对我来说没有什么区别。
在这些情况下,如果停止传播,我将获得性能收益吗?
性能收益?是的,在jQuery live()和之间的性能测试中on()概述了一些细微的好处。正如@Joseph还指出的那样,两者之间的区别是live一直传播到树的整个路径,而on()只传播到最近的公共父节点。
在那些测试中,它on()可以表现live()出最多4倍的性能。实际上,那仍然不值得花些时间,但是我想,如果您具有非常深的html结构和大量事件触发器,则在停止传播方面的性能差异可能是值得的。
| 归档时间: |
|
| 查看次数: |
2132 次 |
| 最近记录: |