跨浏览器的事件对象

在出发DOM的某个事件时,会产生一个事件对象event,这个对象包含所有与事件有关的信息;IE中的事件对象与DOM中的event对象不同,要访问IE中的

对象有几种不同方式,若使用DOM0级添加事件处理程序时,event对象作为window对象的一个属性存在,若使用attachEvent()添加时,就会有一个event对象作为参数被传入事件处理程序函数中。

DOM和IE中的event对象不同:

var EventUtil = {

  addHander:function(element,type,handler){

      //省略代码;

  },

  getEvent: function(event){

    return   event ? event :window.event;   %返回事件对象;

  },

  getTarget:function(event){

    return  event.target ‖ event.srcElement;  返回事件目标;

  }

  preventDefault:function(event){

    if(event.preventDefault()){

      event.preventDefaault();

    }else {

    event.returnValue = false; %取消事件的默认行为

    }

  },

  removeHander: function(element,type,hander){

    //省略代码

  },

  stopPropagation : function(event){

    if(event.stopPropagation){

      enven.propagation;

  } else{

     event.cancelBubble = true; %取消事件进一步的捕获或冒泡,IE中不支持捕获,所以只取消事件进一步的冒泡

    } 

  },

 

 

 

}

posted @ 2016-08-20 15:00  流放的可乐  阅读(143)  评论(0编辑  收藏  举报