前端性能优化:使用事件委托
来源:互联网 发布:mysql数据库编程 编辑:程序博客网 时间:2024/04/19 22:08
日期:2013-7-5 来源:GBin1.com
想象一下,如果你有一个无序列表,里面有一堆<li>元素,每一个<li>元素都会在点击的时候触发一个行为。这个时候, 你通常会在每一个元素上添加一个事件监听,但是如果当这个元素或者你添加了监听的这个对象会被频繁的移除添加呢?这个时候,你在移除添加元素的同时需要处 理事件监听的移除和添加。这个时候,我们就需要引入事件委托了。
事件委托是在父级元素上添加一个事件监听,来替代在每一个子元素上添加事件监听。当事件被触发时,event.target会评估相应的措施是否需要被执行。下面我们给出了一个简单的例子:
// 获取元素,添加事件监听document.querySelector('#parent-list').addEventListener('click', function(e) { // e.target 是一个被点击的元素! // 如果它是一个列表元素 if(e.target && e.target.tagName == 'LI') { // 我们找到了这个元素,对他的操作可以写在这里。 }});
上面的例子是不可思议的简单,当事件发生的时候,它没有轮询父节点去寻找匹配的元素或选择器,且它不支持基于选择器的查询(例如 用class name,或者id来查询)。所有的JavaScript框架提供了委托选择器匹配。重点是,你避免了为每一个元素加载事件监听,而是在父元素上加一个事 件监听。这样大大的增加了效率,并且减少了很多维护!
下一篇我们将介绍使用Data URI代替图片SRC。
via 极客社区
来源:前端性能优化:使用事件委托
- 前端性能优化:使用事件委托
- Javascript性能优化 - 事件委托
- js 性能优化--事件委托
- 页面性能优化之事件委托
- js性能优化_事件委托
- jquery绑定事件优化网页性能(使用on进行事件委托)
- jquery优化--事件委托
- 使用minify作前端性能优化
- 前端性能优化:尽可能使用CSS动画
- 前端性能优化之图片的使用
- 前端性能优化二:使用雪碧图
- 前端性能优化:高频执行事件/方法的防抖
- 前端性能优化:高频执行事件/方法的防抖
- 利用事件委托提升性能
- Web 前端性能优化
- 网站前端性能优化
- Web 前端性能优化
- 前端性能优化参考资料
- VS中的路径宏 vc++中OutDir、ProjectDir、SolutionDir各种路径
- VS2008技巧,天煞啊 果然很给力
- 正确地做事与做正确的事同样重要
- 黑马程序员-JAVA SE入门(面向对象)
- CoreText实现图文混排和点击事件
- 前端性能优化:使用事件委托
- 算法导论 3-3
- 【ubantu】Virtualbox 下 windows XP系统无法开机
- MySQL中int值范围的分析
- RMQ问题
- Android图片浏览器
- EXCEL2010\2007中如何出现在数据透视表向导
- 取消反转屏的快捷键的方法
- 关于C#静态构造函数的几点说明