事件处理程序的性能是否取决于子元素的数量

时间:2010-07-04 13:02:11

标签: javascript performance event-bubbling event-handling

我在一个表上有一个mousedown事件处理程序,其中行数动态增加(现在已经超过一千,在透视图中应该是无限制的)并且随着预加载行数的增加,我观察到性能下降。事件处理程序的目的很简单 - 找出点击了哪一行并突出显示它。

我不确切知道导致减速的原因,我不确定它是否是事件处理程序。我只是想知道可以触发mousedown bubble的子元素数量是否会影响附加到单个父元素的事件处理程序的性能?

更新:我在这里提出了一个简单的例子:http://client.infinity-8.me/table.php?num=1000(你可以传递你想要的任何数字),基本上它呈现一个带有num行的表并且只有一个事件附加到父表的处理程序。我应该从中得出结论,由于子元素的数量,实际上没有明显的性能下降。

1 个答案:

答案 0 :(得分:2)

理论上它不应该。只有深度才重要,因为通过检查每个级别的处理程序(每个级别一个)来冒泡。

即使在IE6 上, 10 000 元素表现也很出色。

See it in action