2013-07-24 39 views
7

我有一个<ul>,它有许多子项(接近3000个项目),并且某些<li>有很多级别。我在“点击”(我正在使用jQuery)上附加了一个事件侦听器,我使用它来切换<li>子项的可见性。数百个DOM元素的JavaScript事件侦听器性能

我想知道如何有这么多的事件监听器影响性能。 (至少有1000个!)。这是一个性能问题吗?

我用新的网络浏览器并没有看到太多的性能问题,但IE8似乎很慢。在一切事情上捣乱一个事件监听者是疯狂的不负责任吗?!

回答

9

答案是很大的百日咳是的是的,它会影响性能。事件代表团是为了这件事而建造的。不要将您的处理程序绑定到每个li,而是将其绑定到其父项ul。这样ul将把click事件委托给li

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

当然!为此欢呼,非常有帮助。 –

+1

如果你可以用数字来支持它,会更有帮助。说它“影响性能”根本没有帮助。当然这会影响性能。问题是多少 –

相关问题