为了账号安全,请及时绑定邮箱和手机立即绑定

由 JavaScript 中的 Class 实例添加的 RemoveEventListener

由 JavaScript 中的 Class 实例添加的 RemoveEventListener

Smart猫小萌 2022-01-07 10:34:04
我在如何从我的 div 元素中删除事件侦听器时遇到困难(实际上已经没有想法了),每次生成新的 Class 实例时都会添加该事件侦听器。class myClass {myFunc () {    const myDiv= document.querySelector('#div-1')    myDiv.addEventListener('click', doThis, false)   function doThis () {   console.log('Test')    }   }}到目前为止我已经尝试过myDiv.removeEventListener('click', doThis)在添加一个新的 eventListener 之前,我猜这不起作用,因为它没有对相关特定实例和函数的引用。然后我尝试了const myClicker = doThis.bind(this)然后使用 myClicker 变量添加和删除侦听器,这也不起作用。每次我跑new myClass()并单击#div-1,添加了一个新的侦听器,并且“test”不仅打印了一次,而且打印了很多次...提前致谢!
查看完整描述

1 回答

?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

如果您使用以下方式定义侦听器

myDiv.addEventListener('click', doThis, false)

删除必须包含您传递给 addListener 的所有相同参数

// Make sure to include the 'false' parameter
myDiv.removeEventListener('click', doThis,false)

来源:https : //developer.mozilla.org/pt-BR/docs/Web/API/EventTarget/removeEventListener


查看完整回答
反对 回复 2022-01-07
  • 1 回答
  • 0 关注
  • 133 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号