之前一直使用addEventListener来绑定事件,后来发现这个方法在ie低版本不支持,
ie低版本支持的是attachEvent,他和addEventListener的不同之处是第二个参数事件名要多加个“on”,比如“onclick”,而且他的this指向的是window,在使用的时候需要改变this指向,下面是一个兼容的写法
var Event = {};
Event.addEvents = function(target,eventType,handle){
if(document.addEventListener){
Event.addEvents = function(target,eventType,handle){
target.addEventListener(eventType,handle,false);
};
}else{
Event.addEvents = function(target,eventType,handle){
target.attachEvent('on'+eventType,function(){
handle.call(target,arguments);
});
};
};
Event.addEvents(target,eventType,handle);
};
调用方法:
Event.addEvents(document,"click",function(){
alert(ok)
});