首页 > 代码库 > 跨浏览器的事件对象

跨浏览器的事件对象

var EventUtil = {

 addHandler: 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.preventDefault();
     } else {
         event.returnValue = false;
     }
 },
removeHandler: function(element, type, handler){
     //省略的代码
 },
 stopPropagation: function(event){ 
        if (event.stopPropagation){
            event.stopPropagation();
        } else {
            event.cancelBubble = true;
        }
    }
}; 
  1. 第一个是 getEvent(),它返回对 event 对象的引用。
  2. 第二个方法是 getTarget(),它返回事件的目标。
  3. 第三个方法是 preventDefault(),用于取消事件的默认行为。
  4. 第四个方法是 stopPropagation(),其实现方式类似。首先尝试使用 DOM 方法阻止事件流,否 则就使用 cancelBubble 属性。

跨浏览器的事件对象