2013-07-24 126 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

如果你可以用數字來支持它,會更有幫助。說它「影響性能」根本沒有幫助。當然這會影響性能。問題是多少 –

相關問題