能否解绑通过.on绑定的noUiSlider 'update'事件处理函数?
关于解绑noUiSlider的'update'事件处理函数
当然可以解绑!noUiSlider 专门提供了 off 方法来对应 on 方法的绑定操作,具体可以分两种场景来实现:
解绑特定的处理函数
如果你需要精准移除某一个绑定的处理函数,关键是要在绑定时保存这个函数的引用,而不是直接用匿名函数。比如:// 先把处理函数单独定义并保存引用 const handleSliderUpdate = function(values, handle) { // 这里是你的业务代码 }; // 绑定update事件 price_slider_element.noUiSlider.on('update', handleSliderUpdate); // 后续需要解绑时,直接传入事件名和对应的函数引用 price_slider_element.noUiSlider.off('update', handleSliderUpdate);解绑该事件下所有处理函数
如果你想一次性移除所有绑定在update事件上的处理函数,不需要指定具体函数,直接调用off并传入事件名即可:price_slider_element.noUiSlider.off('update');
小提醒:如果你绑定的时候用的是匿名函数(就像你示例里写的那样),是没法单独解绑这个特定函数的,因为没有可以引用的标识。所以建议日常绑定事件时尽量使用命名函数或者保存函数引用,方便后续灵活操作。
内容的提问来源于stack exchange,提问作者Michael
相关产品推荐
相关产品推荐

