事件处理程序中this,currentTarget, target所表示不同的值

小程序初体验之target和currentTarget 说起这两个属性,就不得不说一个事: 事件对象 小程序官方文档中说:当事件被触发时,处理函数会响应。传入event对象,通过event对象可以获取事件触发时候的一些信息,包括时间戳、detail等。 因为小程序内的事件绑定都是在 WXML 中实现的,所以传递参数只能通过 WXML 上面的属性值来传递,例如下面的代码中,indexDetail 处理函数需要接收生活指数的名称和详情,来弹出弹层提示,这时... 阅读详情

在事件处理程序中,当触发了dom中的某个事件,浏览器会将一个event对象传入到事件处理程序,这个对象包含所有与事件有关的信息,比如:导致事件的元素、事件的类型等。event对象包含一些属性和方法,其中currentTarget和target与事件目标有关。

对currentTarget和target属性的官方说明:
currentTarget:事件处理程序当前正在处理的那个元素
target: 事件的目标
this并不是event特有的属性,它在事件处理程序中代表接收事件的元素
在事件处理程序内部,对象this始终等于currentTarget的值, target的值会根据以下两种情况有所不同,因为target是事件的实际点击目标。
1.直接将事件处理程序绑定给目标元素。

<body>
<div id="parent">
<input type="button" value="hi" id="myBtn">
</div>

<script>
var btn = document.getElementById('myBtn')
var par = document.getElementById('parent');
btn.onclick = function(e) {
console.log(e.currentTarget === btn);
console.log(e.target === btn);
console.log(this === btn);
}
</script>
</body>

1
可以看出当直接将事件处理程序绑定给要点击的目标时,this,currenTarget,target所指代的目标是相同的,也就是说接收事件处理程序的元素和实际中被点击的元素是同一个。

2.事件委托。
事件处理程序绑定在父元素上,然后再冒泡阶段逐级向外扩散,遇到事件处理程序就触发。

<body>
<div id="parent">
<input type="button" value="hi" id="myBtn">
</div>

<script>
var btn = document.getElementById('myBtn')
var par = document.getElementById('parent');
par.onclick = function(e) {
console.log(e.currentTarget === par);
console.log(e.target === btn);
console.log(this === par);
}
</script>
</body>

2

在事件委托情况下,this,currentTarget相同,都指事件处理程序所绑定的元素,而target指实际中被点击的元素,也就是btn。

总结:this,currentTatget指的是事件处理程序所绑定的元素,target指的时实际点击的目标。
因为在事件委托情况下,事件处理程序绑定在父元素上,所有这三个值会有所不同。

精通JavaScript事件处理:event.target与currentTarget的区别 在 JavaScript 中,属性在事件处理函数中扮演着重要的角色。当一个事件被触发时,它指向触发事件的最内层元素。无论事件监听器是绑定在哪个元素上,总是能准确地告诉我们事件从哪个具体的DOM元素开始的。事件模型中的允许开发者编写更加灵活的事件处理逻辑,尤其是当事件在DOM树中冒泡时。它与形成鲜明对比,后者引用了绑定事件监听器的元素。这一属性对于实现事件委托和处理动态添加或移除的元素上的事件至关重要。在JavaScript事件处理中,属性是指绑定事件监听器的元素。 阅读详情

相关推荐

工创赛智能搬运小车实战:视觉定位、底盘控制与RTOS调度

智能搬运系统是嵌入式控制与机器视觉融合的典型工程实践,其核心在于视觉定位精度、运动控制稳定性与实时任务调度能力。在有限算力(如STM32H7)、低功耗约束和结构化场景下,传统CV方法(如FAST+RANSAC)比轻量级深度学习更具鲁棒性与实时性;而底盘控制需穿透PID表层,直击死区补偿、编码器硬件滤波与负载自适应等物理层细节;RTOS则不是炫技工具,而是保障多模块时序确定性的刚需——尤其在视觉-控制-执行强耦合链路中,任务优先级、事件组通信与栈安全直接影响系统存活。本文聚焦全国大学生工程训练竞赛(工创赛)真

weixin_29194693的博客 267

target和currentTarget的区别

event.target 和 event.currentTarget 都是对一个触发事件的对象的引用. 不同之处在于: event.target 对触发事件的对象的引用(即它标识事件发生的元素) event.currentTarget 当事件遍历DOM时,标识事件的当前目标。它总是引用事件处理程序附加到的元素 target在事件流的目标阶段;currentTarget在事件流的捕获,目标及冒泡阶段...

开发路上的AZhe 9612

HttpClient vs OkHttpClient:哪个更适合你的Java项目?(附性能对比实测)

本文深度对比了Apache HttpClient与OkHttpClient在Java项目中的性能表现与适用场景。通过实际性能测试,OkHttp在连接复用、高并发吞吐量及内存占用方面表现更优,尤其适合现代微服务与Spring生态。HttpClient则凭借其高度可配置性,在需要精细控制HTTP协议细节的场景中更具优势。文章提供了清晰的选型指南,帮助开发者根据项目需求做出最佳决策。

onion的博客 508

currentTarget和target的区别

currentTarget VS target target在事件流的目标阶段; currentTarget在事件流的捕获,目标及冒泡阶段。只有当事件流处在目标阶段的时候,两个的指向才是一样的, 而当处于捕获和冒泡阶段的时候, target指向被单击的对象 currentTarget指向当前事件活动的对象(一般为父级)。 冒泡和捕获 当点击页面的一个元素的时候,事件会从这个元素的祖先元素逐层传递下来,这个过程成为事件捕获;当事件传递到这个元素之后,又会把事件逐成传递回去,直到根元素为止,这个阶段是事件的冒泡

空寻的博客 2615

ERA5 数据集下载(2025最新 可运行)

众所周知,ERA5数据集经过了更新,尤其是在API访问和下载方式上发生了变化。2025年版的ERA5数据集为气象研究人员提供了更高质量的历史气象数据。本文将介绍如何通过新的API接口下载最新的ERA5数据集。

m0_72141699的博客 3592

ios生成海报使用dom-to-image中toPng报错isTrusted:true

主要是ios中safari浏览器解析错误,引起的报错,主要引起原因toPng会调用toSvg,toSvg直接将html标签内容通过svg中foreignObject标签直接包裹,然后转base64, 通过data:image/svg+xml;解决办法:二次生成(调用两次),判断ios or 安卓,生成第一次生成,不用参数,例如:scale: 3,在第二次生成再进行清晰度操作,避免多次生成,引起性能消耗。以上种种很多案例,使用canvase进行转换的,标签丢失,直接toPng版本的,兼容性问题。

weixin_44601570的博客 2105

微信小程序target和currentTarget的区别

详细解析target和currentTarget区别

weixin_43364458的博客 992

滑模观测器与锁相环结合应用:让电机“无感”也能精准旋转的奥秘

本文介绍了永磁同步电机无传感器控制中的滑模观测器(SMO)结合锁相环(PLL)技术。SMO通过创建虚拟电机模型,利用电流误差产生控制信号来估计反电动势;PLL则从反电动势中解码转子位置和速度信息。该组合方案兼具SMO的鲁棒性和PLL的高精度,计算量小且硬件要求低。文章详细阐述了原理、数学模型、参数整定方法及实际实现技巧,包括离散化处理、符号函数替代等优化手段,并分析了低速性能限制、抖振问题等常见挑战及解决方案。最后指出该技术未来将与人工智能、多观测器融合等方向结合发展。

汽车软件开发 195

微信小程序target 和 currentTarget 都是事件对象中的属性,

总结来说,target 指向触发事件的源组件,而 currentTarget 指向事件绑定的当前组件。通过使用 target 和 currentTarget,可以在事件处理函数中区分事件的来源和当前处理事件的组件,从而根据需要进行不同的处理逻辑。target 和 currentTarget 都是事件对象中的属性,它们在事件处理函数中用于引用与事件相关的组件。在 的事件处理函数中,event.target 将指向 组件,因为它是触发事件的源组件。在上述结构中,如果点击了 组件,事件会冒泡到父组件。

qq_35915504的博客 633

运动控制软件:Siemens Sinamics二次开发_(6).通信接口与协议详解

PROFIBUSPROFINETModbus TCPCANopenEtherCAT每种通信接口都有其特定的应用场景和优势。选择合适的通信接口可以显著提高系统的性能和可靠性。在选择通信协议时,需要根据具体的应用场景和需求综合考虑。每种通信协议都有其特定的优势和局限性,因此在设计运动控制系统时,应选择最适合的协议,以确保系统的性能、可靠性、成本和维护性。通过以上对比和分析,希望开发者能够更好地理解和选择适合的通信接口和协议,从而优化运动控制系统的开发和应用。

2401_87715305的博客 899

scottplot5中使用signalXY图,如何更新数据?

🏆本文收录于《优快云问答解答》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!

**My Coding Family** 2437

原生js面试题:event对象中的target,currentTarget的区别,以及应用_事件委托

一、    event对象中的target,currentTarget的区别        在使用event对象时,event对象有两个属性target和currentTarget,这两属性都代表事件源,由于事件冒泡和捕获(如果想知道事件冒泡和事件捕获请点击)的原因,会出现直接的事件源(发生事件的DOM元素)和当前事件源(经过冒泡或者捕获后,触发的父级对应事件的事件源)。       1)、t...

jiang7701037的博客 3507

【微服务】Spring Aop原理深入解析

spring原理深度解析

congge 1万+

this,target,currentTarget区别讲解

event.target 说明:引发事件的DOM元素。 this和event.target的区别 js中事件是会冒泡的,所以this是可以变化的,但event.target不会变化,它永远是直接接受事件的目标DOM元素; this和event.target的相同点 this和event.tar...

chuaizepipp202729的专栏 302

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

JavaScript中事件对象的currentTarget,this和target属性

在事件处理程序内部,对象this始终等于currentTarget的值,而target则只包含事件的实际目标。如果直接将事件处理程序指定给了目标元素,则this,currentTarget和target包含相同的值。 var btn = document.getElementById("myBtn"); btn.onclick = function(event){ alert(eve...

qq_41700374的博客 588

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

对象this、currentTarget和target

在事件处理程序内部,对象this始终等于currentTarget的值,而target则只包含事件的实际目标。如果直接将事件处理程序指定给了目标元素,则this、currentTarget和target包含相同的值。来看下面的例子: var btn = document.getElementById("myBtn"); btn.onclick = function (event)...

atiao0467的博客 167

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

target、this、currentTarget区别

target、this、currentTarget三个关键词用在事件处理函数中, 区别: target:触发事件的某个具体对象, 比如click事件就指的是实际点击的对象 currentTarget:绑定事件的对象,恒等于this,并不一定是实际触发者 通常情况下terget和currentTarget是一致的,我们只要使用terget即可,但有一种情况必须区分这三者的关系,那就是在父子嵌...

nO0b 600

currenttarget和target的区别

currentTarget 定义和用法 currentTarget 事件属性返回其监听器触发事件的节点,即当前处理该事件的元素、文档或窗口。 在捕获和起泡阶段,该属性是非常有用的,因为在这两个节点,它不同于 target 属性。 语法:event.currentTarget <html> <head> <script type="text/javascript"&g...

me_never的博客 789

target,currentTarget和this三者的区别

target在事件流的目标阶段;currentTarget在事件流的捕获,目标及冒泡阶段。只有当事件流处在目标阶段的时候,两个的指向才是一样的, 而当处于捕获和冒泡阶段的时候,target指向被单击的对象而currentTarget指向当前事件活动的对象(注册该事件的对象)(一般为父级)。this指向永远和currentTarget指向一致(只考虑this的普通函数调用)。 <div id="ou

吴孔云的博客 9593

target与currentTarget的区别

MDN中对target的解释为,一个触发事件的对象的引用, 当事件处理程序在事件的冒泡或捕获阶段被调用时。 而对于currentTarget,它指的是当事件遍历DOM时,标识事件的当前目标。它总是引用事件处理程序附加到的元素,而不是event.target,它标识事件发生的元素。 举个例子来说明。 事件冒泡阶段 &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;...

Lei_zhen96的博客 1942

JS target 和 currentTarget 的区别

JS target 和 currentTarget 的区别   1.target 和 currentTarget 区别   target:触发事件的元素。 currentTarget:事件绑定的元素。   那么什么是触发事件的元素,什么又是事件绑定的元素呢?别着急,先接着往下看   2.当一个标签下没有子标签时 <div id="divId">点击</div> <script> document.getElementById('

_ 2831

JavaScript之target和currentTarget

target指的是你当前触发(点击的对象),currentTarget指的是绑定该事件的对象, 也就是说,如果你把一个点击事件绑定在父元素上,然后你再点击子元素,这是的target是子元素,currentTarget是父元素。如果你 这时点击的是父元素,那么target和currentTarget都是父元素。 例如: target和currentTarget click

liujan511536的专栏 3749

微信小程序中currentTarget与target的区别

微信小程序事件处理中的 currentTarget 和 target 微信小程序事件对象包含两个关键属性: currentTarget:指向绑定事件的组件(始终不变) target:指向触发事件的实际组件(可能因冒泡而改变) 典型区别: 当点击子组件时: currentTarget: 父组件信息 target: 子组件信息 直接点击绑定组件时:两者指向相同组件 使用场景: currentTarget: 获取绑定了事件的组件信息 target: 识别事件的实际触发源 合理使用这两个属性可以实现更精准的事件处理

爱的叹息的专栏 1072

event.target与event.currentTarget的差异

event.target与event.currentTarget的差异

WWEIZAI的博客 1544

简单几句话彻底理解Javascript中target与currentTarget的区别

Javascript中target与currentTarget的区别是老生常谈的问题。尤其是作为面试题可以考察应聘者对于JS事件的理解。 JS中的事件触发是一个过程,即 捕获阶段→目标阶段→冒泡阶段 捕获阶段\rightarrow 目标阶段\rightarrow 冒泡阶段 捕获阶段→目标阶段→冒泡阶段 DOM是嵌套的,触发内部元素的之前会先再捕获阶段触发外部元素,之后在冒泡阶段再次触发外部元素。 故当外部元素的事件被触发,当前的元素就对应了currentTarget,而最终目标元素就是target。 cur

胡聊前端的博客 4154
上一篇: setInterval实现渐变效果
下一篇: 利用js交换table中的两列
RebootTang
博客等级 码龄10年 2粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值