JavaScript事件委托实现原理及优点进行

 更新时间:2020年08月29日 16:33:43   作者:八英里  
这篇文章主要介绍了JavaScript事件委托实现原理及优点进行,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

1、什么是事件委托?

事件委托就是利用冒泡的原理,将事件加到 父元素 或 祖先元素上,触发执行效果。

例:在 document 中绑定 click 事件,当 click 的对象为 按钮 btn 时,弹框显示 按钮 btn的值

<body>
<button id="btn" value="嘿嘿">哈哈</button>
<script>
 window.onload=function () {
  let btn=document.getElementById("btn")
  document.onclick=function (e) {
   // console.log(e.target)
   if(e.target===btn){
    alert(btn.value)
   }
  }
 }
</script>
</body>

2、事件委托的优点

(1)可以提高 JS 性能

例:在 ul 上创建 100 个 li,点击每个 li 都要弹框显示该 li 的 value

传统写法:在每个 li 上都绑定 onclick 事件,并触发 alert 事件

事件委托:在 document 上绑定 onclick 事件,当触发 onclick 事件后,判断是不是 <li> 标签,如果是,则 alert <li> 标签的值。

(2)可以动态添加 DOM 元素,不需要因为元素的变动而修改事件绑定。

3、事件委托需要注意的地方

事件委托绑定的元素,最好是被监听元素的父元素,如 <li> 上面的 <ul>、<tr> 上面的 <table> 等。

因为 事件冒泡 的过程也要耗时,越接近顶层,事件的「事件传播链」就越长,也就越耗时。

4、事件冒泡 和 事件捕获

如图,事件冒泡是从子元素向父元素传递事件,一层一层,事件委托就是利用了冒泡原理;事件捕获是从 DOM 最高层对象一层一层往子元素传播。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • JavaScript制作windows经典扫雷小游戏

    JavaScript制作windows经典扫雷小游戏

    扫雷是一款相当大众的小游戏,游戏目标是在最短的时间内根据点击格子出现的数字找出所有非雷格子,同时避免踩雷。今天我们来看看如何使用javascript来实现这款小游戏
    2015-03-03
  • 详解Webwork中Action 调用的方法

    详解Webwork中Action 调用的方法

    这篇文章主要介绍了详解Webwork中Action 调用的方法的相关资料,需要的朋友可以参考下
    2016-02-02
  • JS数组转字符串实现方法解析

    JS数组转字符串实现方法解析

    这篇文章主要介绍了JS数组转字符串实现方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • JavaScript中null和undefined的区别详解

    JavaScript中null和undefined的区别详解

    null 是一个原始值,表示“无”或“空值”,它通常用于指示变量应有的对象或值不存在,undefined 是一个原始值,表示“未定义”,本文给大家详细介绍了JavaScript中null和undefined的区别,需要的朋友可以参考下
    2024-10-10
  • js判断一个字符串是否包含一个子串的方法

    js判断一个字符串是否包含一个子串的方法

    这篇文章主要介绍了js判断一个字符串是否包含一个子串的方法,实例分析了判断的技巧与第三方脚本的使用方法,需要的朋友可以参考下
    2015-01-01
  • JavaScript高级编程之Array的用法总结

    JavaScript高级编程之Array的用法总结

    这篇文章主要为大家介绍了JavaScript中Array常见用法的总结,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-11-11
  • JS多文件上传的实例代码

    JS多文件上传的实例代码

    本文通过实例代码给大介绍了js多文件上传的实现方法,非常不错,具有参考借鉴价值,需要的朋友参考下
    2017-01-01
  • 理解Javascript图片预加载

    理解Javascript图片预加载

    这篇文章主要介绍了Javascript图片预加载,帮助大家理解Javascript图片预加载的实现原理,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • 详解html-webpack-plugin用法全解

    详解html-webpack-plugin用法全解

    这篇文章主要介绍了详解html-webpack-plugin用法全解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • JS实现导出Excel和CSV文件操作

    JS实现导出Excel和CSV文件操作

    这篇文章介绍了JS实现导出Excel和CSV文件的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05

最新评论