var addEvt = function (obj,evt,fn){
if(obj.addEventListener){
obj.addEventListener(evt,fn,false);//W3C
}else if(obj.attachEvent){
obj.attachEvent('on'+evt,fn);//IE
}
}
var removeEvt = function (obj,evt,fn){
if(obj.removeEventListener){
obj.removeEventListener(evt,fn,false);//W3C
}else if(obj.detachEvent){
obj.detachEvent('on'+evt,fn);//IE
}
}
兼容IE以及W3C事件注册机制,好处是不会覆盖原有的事件,而是事件追加。
但是RemoveEvt没有办法将所有绑定的事件全部移除,只能指定注册的函数名,如果是匿名的函数就无法移除。当让我们可以这样:
obj.onclick = null;