我們都可以知道:IE8是一個分水嶺,除了IE8及其以下的瀏覽器意外,chrome、Firefox都基本支持以addEventListener方法來註冊事件,以removeEventListener來解除事件。
解決辦法如下;
var AddEventListener = {
addHandler:function(element,type,handler){
//綁定事件
//Chrome Firefox IE9等 addEventListener
//IE8及IE8以下的瀏覽器 attachEvent
if(element.addEventListener){
element.addEventListener(type,handler,false);
}else if (element.attachEvent) {
element.attachEvent("on"+ type,handler);
} else{
element["on"+type] = handler
}
},
removeHandler: function(element,type,handler){
//移除事件
//Chrome Firefox IE9等
//IE8及IE8以下的瀏覽器
if(element.removeEventListener){
element.removeEventListener(type,handler,false);
}else if (element.detachEvent) {
element.detachEvent("on"+type,handler);
} else{
element["on"+type] = handler
}
}
}