DOM2級(jí)刪除事件不能直接使用匿名函數(shù)。
btn3.addEventListener('click',function(){alert("this.value");},false); //添加事件有效
btn3.removeEventListener('click',function(){alert("this.value");},false); ?//刪除事件無(wú)效
btn3.addEventListener('click',function(){alert("this.value");},false); //添加事件有效
btn3.removeEventListener('click',function(){alert("this.value");},false); ?//刪除事件無(wú)效
2016-07-05
舉報(bào)
2017-03-28
很好的解釋,剛剛也是迷惑這件事。
2016-07-05
搞了半天自己百度弄懂了。因?yàn)槟涿瘮?shù)看起來(lái)是一樣的,其實(shí)是兩個(gè)不同的對(duì)象。
btn3.addEventListener('click',function(){alert("this.value");},false);?
btn3.removeEventListener('click',function(){alert("this.value");},false);
這兩行代碼中的function(){alert(alert("this.value"));}看上去是同一個(gè)東西,實(shí)際上是不同的對(duì)象,而removeEventListener要求函數(shù)必須一樣。
所以addEventListener最好還是用將匿名函數(shù)賦值給某個(gè)變量
addEventListener('click',showValue,false);
removeEventListener('click',showValue,false);
這樣就不會(huì)出bug了。