回顾基础之跨浏览器事件处理

var eventUtil = {
      //添加句柄
      addHandler:function(element,type,handler){
            if (element.addEventListener){              //DOM2级
                  element.addEventListener(type,handler,false);
            }else if (element.attachEvent){             //IE
                  element.attachEvent('on' + type, handler);
            }else {                                    //DOM0级
                  element['on' + type] = handler;
            }
      },
      //删除句柄
      removeHandler:function(element,type,handler){
            if (element.removeEventListener){
                  element.removeEventListener(type,handler,false);
            }else if (element.detachEvent){
                  element.detachEvent('on' + type, handler);
            }else {
                  element['on' + type] = null;
            }
      },
      getEvent:function(event) {
            //IE678中用window.event
            return event? event: window.event;
      },
      getType:function(event) {
            return event.type;
      },
      getElement:function(event){
            return event.target || event.srcElement;
      },
      preventDefault :function(event){
            if(event.preventDefault) {
                    event.preventDefault();
            }else {
                    event.returnValue = false;
            }
      },
      stopPropagation: function(event){
            if(event.stopPropagation){
                    event.stopPropagation();
            }else {
                    event.cancelBubble = true;
            }
      }
}


你可能感兴趣的:(回顾基础之跨浏览器事件处理)