使用removeHandler句柄时没反应,没有删除事件程序
<input type="button" name="" value="按钮" id="btn" />
var eventUtil={
addHandler:function(element,type,handler){//添加句柄
if(element.addEventListener){//DOM 二级
element.addEventListener(type, handler, false);
}else if(element.attachEvent){//低版本浏览器(IE9以下)
element.attachEvent('on'+type,handler);
}else{//DOM 零级
element['on'+type]=handler;//element.onclick === element['onclick']
}
},
removeHandler:function(element,type,handler){//删除句柄
if(element.removeEventListener){
element.removeEventListener(type, handler, false);
}else if(element.detachEvent){
element.detachEvent('on'+type,handler);
}else{
element['on'+type]=null;
}
},
};
var btn=document.getElementById('btn');
eventUtil.addHandler(btn,'click',function(){-----------------------------------这个一直执行
alert(this.value); -----------------------这里还有一个问题,在IE9以下(不包括IE9),这里this.value为undefined?这是怎么回事啊
});
eventUtil.removeHandler(btn,'click',function(){-----------------------------------删除了,但是不起作用,还会执行addHandler
alert(this.value);
});