有没有办法暂时解除通过第三方绑定(bind)的事件处理程序的绑定(bind)(即,我自己没有绑定(bind)它们),然后恢复它们?
例如,我正在使用 jQuery UI 的选项卡。
我想禁用所有选项卡的默认绑定(bind),直到达到某个点,然后我想将它们重新绑定(bind)。
例如:
- jquery UI 创建选项卡并将点击(和其他)事件绑定(bind)到每个选项卡
- 然后,我的脚本缓存每个选项卡的事件,然后取消绑定(bind)它们
- 然后,我的脚本根据另一个变量逐个重新绑定(bind)每个选项卡的缓存事件
取消绑定(bind)事件似乎很容易,但我不确定如何在取消绑定(bind)事件之前存储事件,然后让它们稍后可以重新绑定(bind)。
最佳答案
在插件之前将您自己的处理程序添加到事件中。
在您的处理程序中,检查您是否希望插件的处理程序运行,如果您不想运行它们,请调用 event.stopImmediatePropagation
.
关于jquery - 暂时禁用通过其他函数/插件附加的 jquery 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2291577/