使用函数节流/防抖的时候,绑定事件的第二参数是个闭包函数,在解绑事件的时候无法指向某个具体的函数体,那么大家是如何实现函数解绑的呢?
2 回答
哆啦的时光机
TA贡献1779条经验 获得超6个赞
你可以把节流/防抖和具体的执行函数再进行一次封装。例如防抖函数叫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);//解绑
慕的地8271018
TA贡献1796条经验 获得超4个赞
可以参考这个RemovingeventlistenerinReact(lodash.throttle)直接修改一楼代码lethandler=throttle(fn,300)这样就可以
添加回答
举报
0/150
提交
取消