事件委派知识

事件对象 【理解】

1 什么是事件对象

触发事件时,事件对象会作为默认参数默认传入到function中。

2 事件对象的属性

  • e.target: 事件源

  • e.type: 事件类型

  • e.clientX: 水平坐标

  • e.clientY: 垂直坐标

  • e.keyCode: 键盘码

  • e.which: 鼠标按键的值

3 事件对象的方法

  • e.preventDefault() // 阻止浏览器的默认行为

    • 可以阻止a标签的跳转。

    • 可以阻止form标签的默认提交

  • e.stopPropagation() // 阻止事件冒泡

  • 事件委派

事件委派,就是嵌套内部的标签需要触发的事件,不直接绑到嵌套内部的标签,而是把事件绑定到父标签上。

事件委派的好处:提高性能; 动态渲染的标签也可以触发事件。

<!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>Document</title>
  </head>

  <body>
    <ul id="list">
      <li>111</li>
      <li>222</li>
      <!-- ---- -->
    </ul>

    <script>
      setTimeout(function () {
        // 创建一个li标签
        let li = document.createElement("li");
        // 添加内容
        li.textContent = "我是新来的";
        // 加入ul中
        list.appendChild(li);
        // console.log("9999");
      }, 3000);

      // 获取ul
      const list = document.querySelector("#list");

      // 获取所有li
      // const lis = document.querySelectorAll("li");
      // // 循环绑定事件
      // lis.forEach(function (li) {
      //   li.addEventListener("click", function () {
      //     console.log("666");
      //   });
      // });

      // 事件委托(事件委派 / 事件代理):  本来是给儿子绑定的事件 委托给了父亲绑定
        list.addEventListener("click", function () {
          console.log("5555");
        });
    </script>
  </body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值