博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
浅析e.target与e.currentTarget的区别
阅读量:5150 次
发布时间:2019-06-13

本文共 935 字,大约阅读时间需要 3 分钟。

简单的说,e.curretnTarge是指注册了事件监听器的对象,e.target是指对象里的子对象,实际触发这个事件的对象。

在《JavaScript高级高级程序设计》中,对这2个属性说明如下:

 
属性/方法 类型 读/写 说明
target Element 只读 事件的目标
currentTarget Element 只读 其事件处理程序当前正在处理事件的那个元素

我们通过一个简单的例子来说明:

click outer

click inner

  

function $(id){    return document.getElementById(id);  }  function addEvent(obj, ev, handler){    if(window.attachEvent){      obj.attachEvent("on" + ev, handler);    }else if(window.addEventListener){      obj.addEventListener(ev, handler, false);    }  }  function test(e){    alert("e.target.tagName : " + e.target.tagName + "\n e.currentTarget.tagName : " + e.currentTarget.tagName);  }  var outer = $("outer");  var inner = $("inner");  addEvent(inner, "click", test);  addEvent(outer, "click", test);

  在outer上点击时,target跟currentTarget是一样的,都是div,而在inner上点击时,e.target是p、e.currentTarget是div。

  目前,我也对这2个属性似懂非懂,通过翻阅资料才对其有了个初步的认识。

转载于:https://www.cnblogs.com/d-12315/p/5652582.html

你可能感兴趣的文章
洛谷 1571 眼红的Medusa
查看>>
[HEOI2016/TJOI2016]树
查看>>
(转载)PHP中设置时区方法小结
查看>>
spring--百度百科
查看>>
关于Invoke和InvokeRequired
查看>>
Program exited with code **** 相关解释
查看>>
装服务器,测试数据库,简单的maven命令
查看>>
升级Firefox8后watir-webdriver出现错误“unable to obtain stable firefox connection in 60 seconds”...
查看>>
第6章 Overlapped I/O, 在你身后变戏法 ---被激发的 Event 对象 -4
查看>>
植物大战僵尸中文年度版
查看>>
26、linux 几个C函数,nanosleep,lstat,unlink
查看>>
001.RAID简介
查看>>
投标项目的脚本练习2
查看>>
第五次实验
查看>>
201521123107 《Java程序设计》第9周学习总结
查看>>
runtime的基本应用
查看>>
localStorage,最简单的历史记录
查看>>
关于scrollTop的那些事
查看>>
Caroline--chochukmo
查看>>
算法导论笔记 第8章 线性时间排序
查看>>