示例:在控制台中返回被单击元素的nodeName属性值
document.addEventListener('click',function(e){
console.log(e.target.nodeName);
},false);
升级版(跨浏览器):
function callback(evt){
evt=evt||window.event;
var target=evt.target||evt.srcElement;
console.log(target.nodeName);
}
if(document.addEventListener){
document.addEventListener('click',callback,false);
}else if(document.attachEvent){ //oldIE
document.attachEvent('onclick',callback);
}else{
document.onclick=callback;
}
注解:
- IE中没有addEventListener()方法,但有一个attachEvent()的等效法;
- 对于单击事件来说attachEvent()相当于onclick();
- 在IE时间对象中,没有用于反应触发目标元素的target属性,取而代之的是srcElement;
- IE中总会有一个全局对象window.event会指向该事件