e.target与e.currentTarget的作用

要说清楚这个东西,还不太好阐述呢,所以,先看看下面的代码:

  1. <!DOCTYPE html>
  2. <html>
  3. <head lang="en">
  4. <meta charset="UTF-8">
  5. <title></title>
  6. <style type="text/css" rel="stylesheet">
  7. #fa{
  8. width: 100%;
  9. height: 170px;
  10. padding: 20px 0px;
  11. background-color: cadetblue;
  12. }
  13. #son{
  14. width: 100%;
  15. height: 20px;
  16. padding: 30px 0px;
  17. background-color: black;
  18. color: white;
  19. text-align: center;
  20. cursor: pointer;
  21. }
  22. </style>
  23. </head>
  24. <body>
  25. <div id="fa" onmousedown="getEventTrigger(event)">
  26. <p id="son" onmousedown="getEventTrigger(event)">点我试试</p>
  27. </div>
  28. </body>
  29. <script type="text/javascript">
  30. var fa = document.getElementById(‘fa‘);
  31. var son = document.getElementById(‘son‘);
  32. function getEventTrigger(event)
  33. {
  34. x=event.currentTarget;
  35. y=event.target;
  36. alert("currentTarget 指向: " + x.id + ", target指向:" + y.id);
  37. }
  38. </script>
  39. </html>

起初我也不太明白这两个概念,不过将上述代码在浏览器上执行以后,结合事件捕获和事件冒泡的概念,e.target与e.currentTarget就不难理解了,我将上述代码执行的结果以截图的方式呈现出来,对比一下:

当我点击id为son的p元素时:

第一次弹出的信息

第二次弹出的信息

 

通过对比可以看出,当点击p元素时,执行的是p元素上绑定的事件,此时,事件监听的对象是p元素,目标也是p元素,即图一所

示,currentTarget为p元素,target也是p元素;当事件冒泡到它的父级id为fa的元素div,触发了绑定在div上的事件,而这时,事件监

听的对象是div,目标元素依然是p元素,对比图二的信息,也就是说,这时的currentTarget指向div,target依然指向p元素,由此我

们可以得出:

e.currentTarget指的是注册了事件监听器的对象,而e.target指的是该对象里的子对象,也是触发这个事件的对象!这么说应该明白

了吧?

时间: 2024-10-21 10:55:59

e.target与e.currentTarget的作用的相关文章

【小程序】获取到的e.target与e.currentTarget区别

[小程序]获取到的e.target与e.currentTarget区别:https://blog.csdn.net/qq_33744228/article/details/80310294 使用e.target.dataset的问题:https://www.cnblogs.com/xiaoli52qd/p/7857468.html 原文地址:https://www.cnblogs.com/bydzhangxiaowei/p/9647334.html

e.target与e.currentTarget的区别

原文摘自:https://www.jianshu.com/p/1dd668ccc97a 不必记什么时候e.currentTarget和e.target相等,什么时候不等,理解两者的究竟指向的是谁即可. e.target 指向触发事件监听的对象. e.currentTarget 指向添加监听事件的对象. MDN中对target的解释为,一个触发事件的对象的引用, 当事件处理程序在事件的冒泡或捕获阶段被调用时. 而对于currentTarget,它指的是当事件遍历DOM时,标识事件的当前目标.它总是

Event对象中的target属性和currentTarget属性的区别

先上结论: Event.target:触发事件的元素: Event.currentTarget:事件绑定的元素: 通过下面的例子来理解这两个属性的区别: 使用Event.target属性的例子:(我在<body>和<button>上都绑定了click事件) 1 <body onclick="mouseEvent1()"> 2 <button onclick="mouseEvent2()">点我</button&g

event.target和event.currentTarget的区别

target:触发事件的元素.currentTarget:事件绑定的元素.两者在没有冒泡的情况下,是一样的值,但在用了事件委托的情况下,就不一样了,例如: <ul id="ulT"> <li class="item1">fsda</li> <li class="item2">ewre</li> <li class="item3">qewe</li&g

e.target和e.currentTarget

e.currentTarget : 其事件处理程序当前正在处理事件的那个元素 e.target : 事件的目标 一个简单的例子: <div id="vv" style="background: #000;height:100px"> <p style="background: orange;height: 50px">ddddd</p> </div> <script> var btn =

小程序--e.target和e.currentTarget区别

target:指事件源组件对象     currentTarget:当前组件对象 分两种情况是属于冒泡事件还是非冒泡事件 第一种情况:属于冒泡行为bind wxml页面代码: <view id="outter" bind:tap="tap1"> outer view <view id="middle" bind:tap="tap2"> middle view <view id="inne

jquery点击非div区域隐藏div

点击非div区域隐藏div,如图,点击圆的头像(.person-msg)弹出白色底框(.person-centre).点击圆头像以外的区域隐藏白色底框 html代码 <div class="per_c"> <div class="person-msg pull-right"> <img src="../../res/images/snow_man.jpg"> </div> <dl class=

event对象中 target和currentTarget 属性的区别。

首先本质区别是: event.target返回触发事件的元素 event.currentTarget返回绑定事件的元素 ????举个例子: 1 <ul id="ul">ul 2 <li>li<a href="">a</a></li> 3 <li>li<a href="">a</a></li> 4 <li>li<a href

event对象中 target和currentTarget 属性的区别

来自:https://www.cnblogs.com/yewenxiang/p/6171411.html 首先本质区别是: event.target返回触发事件的元素 event.currentTarget返回绑定事件的元素 ????举个例子: 1 <ul id="ul">ul 2 <li>li<a href="">a</a></li> 3 <li>li<a href="&quo