跨浏览器的事件监听

来源:互联网 发布:黄瓜什么意思网络用语 编辑:程序博客网 时间:2024/06/07 05:57

示例:在控制台中返回被单击元素的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会指向该事件
0 0
原创粉丝点击