开发中,当执行一个事件时需要去知道触发这个事件的对象是谁?那么,如何获取,在这里小编就对event.srcElement与event.target操作获取略作区分。
event.srcElement:表示可以获取当前作用事件的对象。
event.target:事件属性可返回事件的目标节点(触发该事件的节点),如生成事件的元素、文档或窗口。
兼容性:
event.target:Ie9+ 火狐、谷歌;
event.srcElement:ie 678;
srcElement是IE下的属性
target是Firefox下的属性
Chrome浏览器同时有这两个属性
一、利用event.srcElement获取标签:
event.srcElement.tagName:因为它获取出来的都是以大写的形式,例如(“A”,“DIV”)所以需要转换obj.tagName.toLowerCase()="a"
二、利用event.srcElement获取子对象:
第一个子标签:event.srcElement.firstChild;
最后个一个是:event.srcElement.lastChild;
第几个孩子:event.srcElement.children[i];
所有孩子:event.srcElement.children;
所有孩子节点:event.srcElement.childNodes;
三、利用event.srcElement获取父对象:
.event.srcElement.parentElement;可以理解成是在鼠标所在对象的上一个对象。
四、vent.target的判断使用
js中事件是会泡的,event.target它永远是直接接受事件的目标DOM元素
一般是获取这个对象的id,兼容的写法如下:
var targetId = event.target ? event.target.id : event.srcElement.id;
获取id后再拿到事件中去判断。
谢谢观读~
��