关于事件
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;
}
}
}