当前位置: 首页 > article >正文

前端学习-事件委托(三十)

目录

前言

课前思考

for循环注册事件

语法

事件委托

1.事件委托的好处是什么?

2.事件委托是委托给了谁,父元素还是子元素

3.如何找到真正触发的元素

示例代码

总结



前言

才子佳人,自是白衣卿相


课前思考

1.如果同时给多个元素注册事件,我们怎么做的?

for循环注册事件

语法

const lis = document.querySelectorAll('ul li');

for(leti=0;i< lis.length; i++){

lis[i].addEventListener('click',function(){alert('我被点击了')

})

2.有没有一种技巧 注册一次事件就能完成以上效果呢?

事件委托

事件委托是利用事件流的特征解决一些开发需求的知识技巧

优点:减少注册次数,可以提高程序性能原理:事件委托其实是利用事件冒泡的特点。给父元素注册事件,当我们触发子元素的时候,会冒泡到元素身上,从而触发父元素的事件

1.事件委托的好处是什么?

减少注册次数,提高程序性能

2.事件委托是委托给了谁,父元素还是子元素

3.如何找到真正触发的元素

事件对象.target.tagName

示例代码

<!DOCTYPE html>
<html lang="en">
​
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    .highlight {
      background-color: red;
    }
  </style>
</head>
​
<body>
  <ul>
    <li>一</li>
    <li>二</li>
    <li>三</li>
    <li>四</li>
    <li>五</li>
    <p>我是p标签</p>
  </ul>
  <script>
    const ul = document.querySelector('ul');
    ul.addEventListener('click', function (e) {
      if (e.target.tagName === 'LI') {
        e.target.classList.toggle('highlight');
      }
    });
  </script>
</body>
​
</html>

总结

斗酒彘肩,风雨渡江


http://www.kler.cn/a/529325.html

相关文章:

  • 索罗斯的“反身性”(Reflexivity)理论:市场如何扭曲现实?(中英双语)
  • Github 2025-02-01 开源项目月报 Top20
  • 软件工程经济学-日常作业+大作业
  • 【算法设计与分析】实验8:分支限界—TSP问题
  • pytorch基于 Transformer 预训练模型的方法实现词嵌入(tiansz/bert-base-chinese)
  • Office / WPS 公式、Mathtype 公式输入花体字、空心字
  • 简单易懂的倒排索引详解
  • 仿真设计|基于51单片机的温湿度、一氧化碳、甲醛检测报警系统
  • AI 计算的未来:去中心化浪潮与全球竞争格局重塑
  • 迪杰斯特拉(Dijkstra)算法
  • “新月之智”智能战术头盔系统(CITHS)
  • 抖♬♬__ac_signature 算法逆向分析
  • mybatis辅助配置
  • 计算机组成原理——存储系统(一)
  • 42. PWM背光实验
  • HAL库W25Qxx系列芯片驱动
  • C++STL之stack和queue容器(详细+通俗易懂)
  • 课设:【ID0022】火车票售票管理系统(前端)
  • Qt 5.14.2 学习记录 —— 이십이 QSS
  • 【AI文章解读】《No, DeepSeek Is Not A ‘Sputnik Moment’》
  • 信息学奥赛一本通 ybt 1608:【 例 3】任务安排 3 | 洛谷 P5785 [SDOI2012] 任务安排
  • 制造业数字化转型:从标准化设备到数据与智能算法的共生革命
  • 《基于单中心损失监督的频率感知判别特征学习用于人脸伪造检测 》学习笔记
  • PostgreSQL 数据库视图基础操作
  • tf.Keras (tf-1.15)使用记录1-基础模型创建的两种方法
  • 【股票数据API接口48】如何获取股票最新分时BOLL数据之Python、Java等多种主流语言实例代码演示通过股票数据接口获取数据