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

currentTarget指向监听者Target:指向触发者

在JavaScript的事件处理中,currentTarget 和 target 是两个重要的属性,它们常常用于区分事件处理函数当前绑定的元素和实际触发事件的元素。这两个属性的意义可以用下面的方式解释:

currentTarget

  • 指向监听者:这意味着currentTarget指向的是当前正在处理该事件的元素,也就是事件监听器被添加到的那个元素。换句话说,它是事件监听器所绑定的DOM元素。

target

  • 指向触发者target属性指向的是实际触发该事件的元素。这通常是最深层的、用户与之交互的元素,也就是事件冒泡或捕获过程中的最初触发者。

举个例子来说明:

 

html复制代码

<div id="outer" style="width: 200px; height: 200px; background-color: lightblue;">
Outer Div
<div id="inner" style="width: 100px; height: 100px; background-color: lightgreen;">
Inner Div
<button id="button">Click Me</button>
</div>
</div>
<script>
document.getElementById('outer').addEventListener('click', function(event) {
console.log('currentTarget:', event.currentTarget.id); // 输出 "currentTarget: outer"
console.log('target:', event.target.id); // 输出可能是 "target: button" 如果点击了按钮
});
</script>

在这个例子中,如果你点击了内部的button元素,事件会冒泡到outer div,因为我们在outer div上添加了事件监听器。在这种情况下:

  • event.currentTarget 将指向outer div(因为监听器是添加在这个元素上的)。
  • event.target 将指向被点击的button元素(因为它是实际触发事件的元素)。

但是,如果你点击的是outer div但不是buttoninner div,那么event.targetevent.currentTarget将指向同一个元素(即outer div)。

相关文章:

  • TikTok矩阵管理系统:品牌增长的新引擎
  • Php composer 基础教程
  • 基于springboot+vue的学生考勤管理系统
  • FreeRTOS_同步互斥与通信_队列集_学习笔记
  • MySQL实战——主从异步复制搭建(一主一从)
  • 解决ModuleNotFoundError: No module named ‘open_clip‘问题
  • 三维空间坐标系变换(旋转平移)
  • python实现520表白图案
  • LLama3 | 一. 本地 Web Demo 部署
  • 手写tomcat(Ⅱ)——Socket通信+tomcat静态资源的获取
  • python手写数字识别(PaddlePaddle框架、MNIST数据集)
  • 嵌入式科普(18)Ubuntu在移动硬盘的安装和启动
  • JavaWeb基础(HTML,CSS,JS)
  • 大数据运维面临的常见问题及其解决方案和步骤
  • 力扣HOT100 - 136. 只出现一次的数字
  • 345-反转字符串中的元音字母
  • css属性的继承、初识值、计算值、当前值、应用值
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • js操作时间(持续更新)
  • ng6--错误信息小结(持续更新)
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 阿里云前端周刊 - 第 26 期
  • 动手做个聊天室,前端工程师百无聊赖的人生
  • 写给高年级小学生看的《Bash 指南》
  • 新手搭建网站的主要流程
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • AI算硅基生命吗,为什么?
  • 好程序员大数据教程Hadoop全分布安装(非HA)
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • ​​​【收录 Hello 算法】9.4 小结
  • ​520就是要宠粉,你的心头书我买单
  • #QT(串口助手-界面)
  • #职场发展#其他
  • $.ajax()参数及用法
  • (12)Hive调优——count distinct去重优化
  • (8)STL算法之替换
  • (a /b)*c的值
  • (C语言)球球大作战
  • (搬运以学习)flask 上下文的实现
  • (翻译)Quartz官方教程——第一课:Quartz入门
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (附源码)计算机毕业设计SSM基于java的云顶博客系统
  • (附源码)计算机毕业设计大学生兼职系统
  • (一)基于IDEA的JAVA基础1
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .NET Core 中插件式开发实现
  • .NET MVC第三章、三种传值方式
  • .NET/MSBuild 中的发布路径在哪里呢?如何在扩展编译的时候修改发布路径中的文件呢?
  • .NET版Word处理控件Aspose.words功能演示:在ASP.NET MVC中创建MS Word编辑器
  • /使用匿名内部类来复写Handler当中的handlerMessage()方法
  • ??eclipse的安装配置问题!??