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

13. event.target 和 event.currentTarget 区别

总结

  1. 利用事件冒泡原理,将子元素的事件委托给父元素。

定义说明

  • event.target
    表示触发事件的元素,即事件的最初发起者。该属性不会随着事件冒泡阶段而改变,始终指向触发事件的那个元素。

  • event.currentTarget
    表示当前正在执行事件处理函数的元素,即绑定事件监听器的那个元素。在事件传播过程中,该值保持不变。

主要区别对比表

对比维度event.targetevent.currentTarget
含义触发事件的元素绑定事件的元素
是否随事件冒泡改变是,可能在冒泡阶段指向子元素否,始终保持绑定目标不变
用途获取实际点击/触发的元素获取绑定事件的当前元素

代码示例

<!-- HTML 结构 -->
<div id="parent"><button id="child">点击我</button>
</div>
// JavaScript 事件监听
document.getElementById("parent").addEventListener("click", function (event) {console.log("event.target:", event.target); // 输出 <button id="child">...</button>console.log("event.currentTarget:", event.currentTarget); // 输出 <div id="parent">...</div>
});

当点击 <button> 时:

  • event.target 指向 <button>(触发事件的元素)。
  • event.currentTarget 指向 <div>(绑定事件监听器的元素)。

应用场景

  • 使用 event.target 的场景

    • 实现事件委托(将子元素的事件交由父级统一处理)。
    • 动态加载元素时,无需重复绑定事件。
  • 使用 event.currentTarget 的场景

    • 需要确保访问的是绑定事件的目标元素本身。
    • 避免因事件冒泡导致的元素误判。

注意事项

  • event.targetevent.currentTarget 在事件冒泡机制中行为不同,需根据需求选择使用。
  • event.currentTarget只读属性,不可赋值。
  • 📌 使用事件委托时,通常使用 event.target 来判断具体触发的子元素。

http://www.lryc.cn/news/597854.html

相关文章:

  • 加载用户设置时遇到错误找到一个带有无效“icon“的配置文件。将该配置文件默认为无图标。确保设置“icon“时,该值是图像的有效文件路径“
  • ElasticSearch基础数据查询和管理详解
  • 电商项目_秒杀_压测
  • 多服务器批量发布软件
  • SQL难点突破之复杂业务逻辑的SQL查询实战
  • 力扣刷题(第九十六天)
  • arm64架构开发板上调用奥比中光深度摄像头用于视觉测距
  • 利用DeepSeek编写一个使用lzav算法的文件压缩工具
  • 【JavaSE】正则表达式学习笔记
  • Android Multidex 完全解析:解决64K方法数限制
  • MYSQL笔记4
  • 设备虚拟化
  • 不一样的Mysql安装方式
  • 主要科技公司与新创公司 AI Agent 进展调研
  • 【MySQL】MySQL 索引详解
  • 论文笔记:Tuning Language Models by Proxy
  • HDFS写性能优化技巧详解:从理论到实践
  • 1688 商品数据采集的应用行业与接入方式
  • Linux运维新手的修炼手扎之第24天
  • 本地运行C++版StableDiffusion!开源应用StableVerce发布
  • Java并发编程:锁机制
  • C++(面向对象封装、继承、多态)
  • 深度图像滤波
  • UI测试平台TestComplete:高效覆盖风险,加速持续交付
  • 基于python的微博评论和博文文本分析,包括LDA+聚类+词频分析+lstm热度预测,数据量10000条
  • Ubuntu22.04.5 LTS安装与使用Docker
  • Android Camera openCamera
  • 水泥厂码垛环节的协议转换实践:从Modbus TCP到DeviceNet
  • 浙大Fast Lab:融合3D激光雷达与强化学习的「端到端导航」,让无人机“飞”在点云上!
  • 快手DHPS:国内首个实现基于RDMA 通信的可负载均衡高性能服务架构!