event.target指向谁?
学习中,有时遇到event.target,总是不明白为什么要用target,后来学习了下,大概了解了event.target到底指什么元素了,关于event和this的内容,下回再说:
先摆结论:event.target指向事件执行时鼠标所点击(假设是click事件)区域的那个元素。如果事件绑定的元素内部有子元素,那么event.target指向这个子元素,如果没有,event.target指向事件所绑定的元素。看代码:
<html> <head> <title>prac</title> <meta charset="utf-8"> <style type="text/css"> *{margin:0;padding:0;font-size: 20px;} #div1{background-color: lightblue;height: 300px;} #p1{background-color: red;height: 100px;} #p2{background-color: pink;height: 100px;} </style> <script type="text/javascript"> function getEventTrigger(event) { x=event.target; alert("event.target元素的id: " + x.id+",事件类型:"+event.type); } </script> </head>
<body > <div id="div1" onmousedown="getEventTrigger(event)"> <p id="p1">我是p1</p> <p id="p2">我是p2</p> 父块div1剩下的部分 </div> </body>
</html>
如上图:给父块div1绑定mousedown事件,调用函数getEventTrigger,弹出event.target元素的id:和事件类型,div1里面加了两个子元素,p1和p2,剩下的是div1没有被覆盖的部分;
效果如下:当你在p1里按下鼠标时,弹出p1的id;p2里按下鼠标时,弹出p2的id;在div1里按下鼠标时,弹出的就是div1的id;
也就验证了上面的结论:event.target指向事件执行时鼠标所点击(假设是click事件)区域的那个元素。如果事件绑定的元素内部有子元素,那么event.target指向这个子元素,如果没有,event.target指向事件所绑定的元素。
后面再附个链接和w3school的解释,感觉解释的不清楚,不过案例是用他的代码改的,嘿嘿
target 事件属性可返回事件的目标节点(触发该事件的节点),如生成事件的元素、文档或窗口。
http://www.w3school.com.cn/jsref/event_target.asp
event.target指向谁?的更多相关文章
- event.target 和 event.currentTarget 的区别
event.target This property of event objects is the object the event was dispatched on. It is differe ...
- 小结event.target与this
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <t ...
- event.currentTarget指向事件所绑定的元素,而event.target始终指向事件发生时的元素
event.currentTarget指向事件所绑定的元素,而event.target始终指向事件发生时的元素
- 【前端】event.target 和 event.currentTarget 的区别
event.target 和 event.currentTarget 的区别 举例说明: <!DOCTYPE html> <html> <head> <tit ...
- event.srcElement与event.target的区别
window.event.srcElement与window.event.target 都是指向触发事件的元素,它是什么就有什么样的属性 srcElement是事件初始化目标html元素对象引用,因为 ...
- Event.target和Event.currentTarget的区别
<style> * { margin:0; padding:0; list-style:none; } #ul { width:400px; height:250px; margin:0 ...
- window.event.srcElement与window.event.target 触发事件的元素 触发事件对象的获取,window.event与时间函数参数的event是同一个 事件对象
判断事件触发的元素: var tag = window.event.target || window.event.srcElement; if (tag.tagName.toLowerC ...
- event.currentTarget与event.target的差别介绍
event.currentTarget与event.target的差别想大家在使用的时候不是非常在意.本文以測试代码来解说它门之间的不同.即,event.currentTarget指向事件所绑定的元素 ...
- window.event.srcElement与window.event.target 触发事件的元素
IE浏览器支持window.event.srcElement , 而firefox支持window.event.target:<input type="text" onblu ...
随机推荐
- springMVC中实现servlet依赖注入
记录一下开发过程中遇到的问题: 首先看一下这个帖子: http://blog.csdn.net/gaogaoshan/article/details/23540129 由于我使用的是springMVC ...
- C++中的static关键字的总结
C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static.前者应用于普通变量和函数,不涉及类:后者主要说明static在类中的作用. 1.面向过程设计中的st ...
- python网络编程【一】
TCP/IP 是标准的协议,它可以使用世界范围内的计算机通过Internet或本地的网络通信 1.编写一个TCP客户端程序 #!/usr/bin/env python import socket, s ...
- isMobile
var isMobile = { Android: function() { return navigator.userAgent.match(/Android/i); }, BlackBerry: ...
- MicroERP软件更新记录2.0
本次更新: 版本:2.0 内容:人力资源日常管理.工资薪酬.绩效考核 下次更新: 版本:2.1 内容:客户关系管理 开发载图: 截图(部分):
- 【初级】linux rm 命令详解及使用方法实战
rm:删除命令 前言: windows中的删除命令大家都不陌生,linux中的删除命令和windows中有一个共同特点,那就是危险,前两篇linux mkdir 命令详解及使用方法实战[初级]中我们就 ...
- VS2013 有效密钥
今天打开笔记本上的VS2013,发现试用版到期了,就到网上找密钥,找了一些时候找到一个有效序列号,记录如下: BWG7X-J98B3-W34RT-33B3R-JVYW9
- Socket模块学习
Socket是什么呢? Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socke ...
- DataTable转Json字符串(使用Newtonsoft.Json.dll)
DataTable转Json字符串(使用Newtonsoft.Json.dll) 在需要把DataTable转为Json字符串时,自己手动拼接太麻烦,而且容易出错,费时费力,使用Newtonsoft. ...
- SharePoint Framework 开发工具和库
博客地址:http://blog.csdn.net/FoxDave SharePoint Framework包含一些客户端JavaScript库,你可以用来构建自己的解决方案.本文提供了你可以用来 ...