博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
事件委托(代理)
阅读量:5967 次
发布时间:2019-06-19

本文共 703 字,大约阅读时间需要 2 分钟。

事件委托:当我们需要对很多元素添加事件的时候,可以通过将事件添加到它们的父节点而将事件委托给父节点来触发处理函数。这主要得益于浏览器的事件冒泡机制。

例如:

<ul id="ul1">                                  var oUl = document.getElementById("ul1");

      <li>111</li>                             var aLi = oUl.getElementsByTagName('li');

      <li>222</li>                              for(var i=0;i<aLi.length;i++){

      <li>333</li>                                aLi[i].onclick = function(){

      <li>444</li>                                      alert(123);

</ul>                                                 }

                                                  }

         

备注:事件委托主要是为了减少DOM操作,4个li事件,每当for一次,点击一次就会查找一次oUl.getElementsByTagName();总共4次DOM操作+1次查找ulDOm操作

如果将onclick事件委托于其父元素即<ul> ,则只需要1次Dom操作,从而大大优化性能。

var oUl = document.getElementById("ul1");

oUl.onclick = function(){

      alert(123);

    }

当然其中ul也会触发自身的事件,我们可以使用event.target来进行对所点事件的绑定。

优点:大大减少dom的操作

具体详情请见:https://www.cnblogs.com/liugang-vip/p/5616484.html

转载于:https://www.cnblogs.com/8080zh/p/9224481.html

你可能感兴趣的文章
切图崽的自我修养-[ES6] 编程风格规范
查看>>
服务器迁移小记
查看>>
FastDFS存储服务器部署
查看>>
Android — 创建和修改 Fragment 的方法及相关注意事项
查看>>
swift基础之_swift调用OC/OC调用swift
查看>>
Devexpress 15.1.8 Breaking Changes
查看>>
ElasticSearch Client详解
查看>>
mybatis update返回值的意义
查看>>
expdp 详解及实例
查看>>
通过IP判断登录地址
查看>>
深入浅出JavaScript (五) 详解Document.write()方法
查看>>
Beta冲刺——day6
查看>>
在一个程序中调用另一个程序并且传输数据到选择屏幕执行这个程序
查看>>
代码生成工具Database2Sharp中增加视图的代码生成以及主从表界面生成功能
查看>>
关于在VS2005中编写DLL遇到 C4251 警告的解决办法
查看>>
提高信息安全意识对网络勒索病毒说不
查看>>
使用Jquery 加载页面时调用JS
查看>>
css+div+jquery弹出层
查看>>
求职相关(链接,不定期更新)
查看>>
pdo 连接数据库 报错 could not find driver 解决方法
查看>>