美文网首页
dom 事件委托

dom 事件委托

作者: 菜鸡前端 | 来源:发表于2021-08-29 12:48 被阅读0次

1. 作用

事件委托指的是:当事件触发时,把要做的事委托给父元素来处理。在学它的用法之前,先了解一下它的作用:

  • 节约内存:不必为子元素都注册事件,JS侧会少一个函数的内存分配。如果给每个列表项一一都绑定一个函数,那对于内存消耗是非常大的;
  • 能为之后新增的DOM元素依然添加事件:如果不这样做,当你新增一个子元素,则需要给子元素添加事件。

2. 演示

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>事件代理</title>
</head>

<body>
  <ul>
    <li>1</li>
    <li>2</li>
    <div>3</div>
  </ul>
</body>
<script>
  function callback(el) {
    alert(el.innerHTML);
  }

  // 1. 非优化
  // var nodeList = document.querySelectorAll("li")
  // nodeList.forEach(el => {
  //   el.addEventListener('click', () => {
  //     callback(el)
  //   })
  // })

  // 2. 使用事件代理
  // 通过 event.target 可以获取当目标阶段的元素,也就是我们所需的子元素
  // event.currentTarget 指向绑定事件的元素
  document.querySelector("ul").addEventListener("click", function (e) {
    if ("LI" === e.target.tagName) {
      callback(e.target)
    }
  })
</script>

</html>

相关文章

  • js事件委托(事件代理)

    定义:事件委托就是在DOM事件的冒泡阶段,把具体dom上发生的事件委托给父元素或祖先元素去处理。原理:要了解委托的...

  • JavaScript Events事件汇总

    事件参数、事件捕获冒泡 事件委托 事件默认行为 DOM 1 、DOM 2、DOM 3模型 实现遮罩功能(点击穿透、...

  • DOM事件委托

    事件代理又叫事件委托,JavaScript高级程序设计上讲:事件委托就是利用事件冒泡,只指定一个事件处理程序,就可...

  • DOM事件委托

    使用场景 监听重复的事件===>用于节省监听数(内存小) 监听当前暂时还没有的元素===>动态监听元素 使用方法

  • DOM 事件委托

    事件代理又叫事件委托,JavaScript高级程序设计上讲:事件委托就是利用事件冒泡,只指定一个事件处理程序,就可...

  • DOM事件委托

    事件委托就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件。事件委托:不监听元素 C 自身,而...

  • DOM 事件委托

    什么是事件委托? 对"事件处理程序过多"问题的解决方案,就是需要触发子事件时,只用给某父元素指定一个事件处理程序,...

  • dom 事件委托

    1. 作用 事件委托指的是:当事件触发时,把要做的事委托给父元素来处理。在学它的用法之前,先了解一下它的作用: 节...

  • DOM事件委托

    什么是事件委托? 事件委托就是利用冒泡机制,将事件添加在目标元素的父元素或祖辈元素上,触发执行效果。也就是就是监听...

  • DOM事件委托

    什么是事件委托 由于事件会在冒泡阶段向上传播到父节点,因此可以把子节点的监听函数定义在父节点上,由父节点的监听函数...

网友评论

      本文标题:dom 事件委托

      本文链接:https://www.haomeiwen.com/subject/vfbbiltx.html