繁体   English   中英

数百个DOM元素的JavaScript事件监听器性能

[英]JavaScript event listener performance for hundreds of DOM elements

我有一个<ul> ,有很多孩子(接近3000项),有些<li>有很多级别。 我在'click'上附加了一个事件监听器(我正在使用jQuery),我用它来切换<li>子项的可见性。

我想知道如此多的事件监听器会影响性能。 (至少有1000个!)。 这对性能来说是个大问题吗?

对于较新的网络浏览器,我并没有真正看到很多性能问题,但IE8看起来非常慢。 在所有事情上敲打一个事件听众是不是不负责任?

答案是一个很大的百日咳YES。 是的,它会影响性能 事件委托是为这件事而建的。 而不是将处理程序绑定到每个li ,而是将其绑定到其父级ul 这样, ul会将click事件委托给li

$("ul").on("click", "li", function () {
 //your code
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM