js监听与移除注意事项

文章讨论了在JavaScript中使用addEventListener和removeEventListener时,为何移除事件监听器可能不生效的问题。关键在于移除事件监听器的函数必须与添加时的函数引用相同,即内存地址一致,否则无法正确移除。示例中提到了在全局作用域和类方法中绑定事件处理函数的情况。
摘要由CSDN通过智能技术生成

1、执行函数不同 removeEventListener移除事件不生效 如:

//添加事件
document.addEventListener('scroll', function(e) { console.log(e) })
//移除事件
document.removeEventListener('scroll', function(e) { console.log(e) })

2、在class类中,bind绑定函数,removeEventListener移除事件不生效 如:

//添加事件
window.addEventListener("resize", this.fresh.bind(this), false);
//移除事件
window.removeEventListener("resize", this.fresh.bind(this), false);

执行函数必须是同一个函数(内存地址相同)否则无法移除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值