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

2024-05-24 00:36

本文主要是介绍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)。

这篇关于currentTarget指向监听者Target:指向触发者的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/996869

相关文章

如何关闭 Mac 触发角功能或设置修饰键? mac电脑防止误触设置技巧

《如何关闭Mac触发角功能或设置修饰键?mac电脑防止误触设置技巧》从Windows换到iOS大半年来,触发角是我觉得值得吹爆的MacBook效率神器,成为一大说服理由,下面我们就来看看mac电... MAC 的「触发角」功能虽然提高了效率,但过于灵敏也让不少用户感到头疼。特别是在关键时刻,一不小心就可能触

Flutter监听当前页面可见与隐藏状态的代码详解

《Flutter监听当前页面可见与隐藏状态的代码详解》文章介绍了如何在Flutter中使用路由观察者来监听应用进入前台或后台状态以及页面的显示和隐藏,并通过代码示例讲解的非常详细,需要的朋友可以参考下... flutter 可以监听 app 进入前台还是后台状态,也可以监听当http://www.cppcn

spring @EventListener 事件与监听的示例详解

《spring@EventListener事件与监听的示例详解》本文介绍了自定义Spring事件和监听器的方法,包括如何发布事件、监听事件以及如何处理异步事件,通过示例代码和日志,展示了事件的顺序... 目录1、自定义Application Event2、自定义监听3、测试4、源代码5、其他5.1 顺序执行

SpringBoot整合Canal+RabbitMQ监听数据变更详解

《SpringBoot整合Canal+RabbitMQ监听数据变更详解》在现代分布式系统中,实时获取数据库的变更信息是一个常见的需求,本文将介绍SpringBoot如何通过整合Canal和Rabbit... 目录需求步骤环境搭建整合SpringBoot与Canal实现客户端Canal整合RabbitMQSp

vue如何监听对象或者数组某个属性的变化详解

《vue如何监听对象或者数组某个属性的变化详解》这篇文章主要给大家介绍了关于vue如何监听对象或者数组某个属性的变化,在Vue.js中可以通过watch监听属性变化并动态修改其他属性的值,watch通... 目录前言用watch监听深度监听使用计算属性watch和计算属性的区别在vue 3中使用watchE

外部中断的边缘触发和电平触发

MCS-51单片机中的边缘触发是指当输入引脚电平由高到低发生跳变时,才引起中断。而电平触发是指只要外部引脚为低电平就引起中断。         在电平触发方式下,当外部引脚的低电平在中断服务返回前没有被拉高时(即撤除中断请求状态),会引起反复的不需要的中断,造成程序执行的错误。这类中断方式下,需要在中断服务程序中设置指令,清除外部中断的低电平状态,使之变为高电平。

【JavaScript】this指向的问题

this指向不是在创建时指定的,而是由最后调用它的对象决定的。 全局对象的this 在非严格模式下,this指向window;在严格模式下,this指向undefined。 1)简单版 function f1 () {console.log(this)}function f2 () {'use strict'console.log(this)}f1() // windowf2()

访问controller404:The origin server did not find a current representation for the target resource

ider build->rebuild project。Rebuild:对选定的目标(Project),进行强制性编译,不管目标是否是被修改过。由于 Rebuild 的目标只有 Project,所以 Rebuild 每次花的时间会比较长。 参考:资料

linux定时监听ssh服务是否启动-------麒麟操作系统永久关闭swap

linux监听ssh服务是否启动 1、监听脚本2、定时任务3、麒麟操作系统,永久关闭swap 1、监听脚本 #在/usr/local/bin目录下新建脚本文件 cd /usr/local/bintouch check_sshd.sh#给可执行权限chmod +x /usr/local/bin/check_sshd.sh 脚本内容如下: #!/bin/bashs