事件绑定次数和事件触发次数的取舍

来源:2-7 使用Chrome DevTools分析性能【最大法宝】

希卡利

2020-12-22

老师好,想问个比较拉胯的问题,事件代理这方面,再多个绑定和多次触发之间选哪个比较好?
1、使用事件代理 mouseover 每个子元素都会触发事件
2、使用本体绑定 mouseenter 需要绑定子元素十几二十个,但是事件触发次数可能只是事件代理三到五分之一甚至更少
场景是 富文本编辑器的菜单栏

写回答

1回答

Mr_Max

2020-12-22

同学你好!

事件本身的开销是非常高的,减少事件绑定的个数对提高性能非常重要,这也是事件代理模式的主要优点。

另外从实现角度,如果你的富文本编辑器菜单有动态加载的元素,那为它们单独绑定事件会比较麻烦,而如果是代理只需要在父元素上做就可以了,与子元素何时加载无关。


0
1
希卡利
所以,虽然增加了一些无用的事件的触发次数,但是依旧是事件代理减少绑定事件的方法更优,除非 事件触发 达到了一个量级?大概了解了,谢谢老师。
2020-12-23
共1条回复

前端性能优化企业级解决方案 6大角度+大厂视野

只要项目还在线,性能优化永远是时刻要关注的问题

1109 学习 · 226 问题

查看课程