html : b.onclick = function(){ var sayHello = function (){ console.log('你好'); }; c.removeEventListener('click' , sayHello , false); c.addEventListener('click' , sayHello , false); }按钮 b , 按钮 c 。 点击一下按钮b 给按钮 c 绑定事件 。点击按钮b三次 , 再点击一下按钮 c 。 提示了三个 '你好' 如何做到只提示一个 '你好'
1 回答
茅侃侃
TA贡献1842条经验 获得超21个赞
addEventListener本来就是可以绑定多个事件的,你调用了三次就绑定了三个事件。
要removeEventListener必须要传入绑定的时候的同一个函数。你按钮b的事件每次都重新创建了一个sayHello的函数,每次调用的sayHello都是不同的函数。你removeEventListener自然就不起作用了。
不要把你不懂的东西叫做“弊端”,你自己没有理解它的特性就不要妄加批评。
添加回答
举报
0/150
提交
取消