gpt4 book ai didi

jquery - 停止事件冒泡 - 提高性能?

转载 作者:数据小太阳 更新时间:2023-10-29 05:55:50 30 4
gpt4 key购买 nike

如果我不回来了 false来自事件回调,或使用 e.stopPropagation jQuery 的特性,事件使 DOM 冒泡。

在大多数情况下,我不关心事件是否冒泡。就像这个 DOM 结构示例一样:

​<div id="theDiv">
<form id="theForm" >
<input type="submit" value="submit"/>
</form>
</div>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

通常,我没有像这样的多个嵌套提交回调:

$('#theDiv').submit(function() {
alert('DIV!');
});
$('#theForm').submit(function(e) {
alert('FORM!');
e.preventDefault();
});​

Fiddle
该演示显示了 submit事件冒泡到 <div> !
如果我停止传播或只是防止默认,对我来说没有区别。

在那些情况下,如果我停止传播,我会获得性能优势吗?

最佳答案

性能优势?是的,有一些细微的好处,如 this performance test between jQuery live() and on() 中所述。 .正如@Joseph 还指出的那样,两者之间的区别在于 live 会一直传播到树上,而 on() 只会传播到最近的公共(public)父级。

在这些测试中,显示 on() 的性能优于 live() 多达 4 倍。在实践中,这可能仍然不值得纠结,但如果您有非常深的 html 结构和大量事件触发器,我想停止传播的性能差异可能是值得的。

关于jquery - 停止事件冒泡 - 提高性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9730849/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com