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

标签 javascript performance event-bubbling event-handling

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

我不知道到底是什么原因导致速度变慢,我不确定它是否是事件处理程序。我只是想知道可能触发 mousedown 气泡的子元素的数量是否会影响附加到单个父元素的事件处理程序的性能?

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

最佳答案

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

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

See it in action .

关于javascript - 事件处理程序的性能是否取决于子元素的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3174743/

相关文章:

javascript - 为什么在安装渲染时我的 Prop 没有传递到我的组件中?

c# - Enumerable.Range(...).Any(...) 优于基本循环 : Why?

javascript - 捕获链接点击(事件冒泡)

javascript - 具有绝对路径的故事书

javascript - 如何在 HTML 5 web worker 中访问 jQuery

javascript - WordPress仅在用户未登录时执行javascript文件

python 位数组(性能)

java - 从 jdk1.7.0_25 迁移到 jdk1.7.0_40 时的性能回归

javascript - 空 css-grid 单元格下的元素不响应鼠标事件

javascript - JQuery 事件每次加倍