关于事件

DOM0级事件

//事件绑定
target.event = function() {}
//事件删除
target.event = null;

DOM2级事件

//事件绑定
target.addEventListener(event,handler,false);
//删除事件
target.removeEventListener(event,handler,false);

function handler() {console.log("123");}

IE的事件处理

//事件绑定
target.attachEvent(event,handler);
//事件删除
target.detachEvent(event,handler);

function handler(){console.log("123")}

通用的事件封装

var EventUtil = {
    addEvent:function(ele, event, func) {
     //用能力检测进行跨浏览器兼容处理
    //DOM 2 事件处理
      if(ele.addEventListener) {
            //false表示冒泡事件模型
            ele.addEventListener(event, func, false);
          } else if(ele.attachEvent) {
          //若是click事件,IE为onclick
            ele.attachEvent('on'+ event, func);
          } else {
            //DOM 0级事件,兼容老浏览器
           //not ele.'on'+ event = func;
           ele['on'+ event] = func;
       }
    },
    //删除事件函数
   delEvent:function(ele, event, func) {
       if(ele.removeEventListener) {
          ele.removeEventListener(event, func, false);
         } else if(ele.detachEvent) {
            ele.detachEvent('on' + event, func);//IE
         } else {
           //DOM 0级事件,兼容老浏览器
           ele['on'+event]=null;
         }
    }
}

标签: 事件

添加新评论