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

请各位大佬指点!javascript 函数节流和函数防抖时,事件无法被解绑,大家是如何去实现解绑事件的?跪求!

请各位大佬指点!javascript 函数节流和函数防抖时,事件无法被解绑,大家是如何去实现解绑事件的?跪求!

繁星coding 2019-07-26 23:52:55
使用函数节流/防抖的时候,绑定事件的第二参数是个闭包函数,在解绑事件的时候无法指向某个具体的函数体,那么大家是如何实现函数解绑的呢?
查看完整描述

2 回答

?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

你可以把节流/防抖和具体的执行函数再进行一次封装。
例如防抖函数叫throttle,执行函数叫fn,原绑定:
window.addEventListener('scroll',throttle(fn,300))//300ms后才能执行一次fn
不过你把throttle(fn,300)再封装一下即可:
functionhandler(){
throttle(fn,300);
}
window.addEventListener('scroll',handler);//绑定
window.removeEventListener('scroll',handler);//解绑
                            
查看完整回答
反对 回复 2019-07-26
?
回首忆惘然

TA贡献1847条经验 获得超11个赞

可以参考这个RemovingeventlistenerinReact(lodash.throttle)
直接修改一楼代码
lethandler=throttle(fn,300)
这样就可以
                            
查看完整回答
反对 回复 2019-07-26
  • 2 回答
  • 0 关注
  • 308 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信