我有一个类似于:
的事件处理程序$(document).on('click', 'a.close, #mask', Popup.close);
我无法弄清楚如何为此事件动态更改函数(Popup.close)。 Popup.close变量是一个本地函数,可以通过调用Popup.setClose(func)来设置,我希望这会改变触发此事件时调用的函数。然后我意识到我可能必须取消绑定事件,并在每次想要更改Popup.close()函数时绑定新函数。无论如何,我无法弄清楚如何取消绑定以及先前使用.on('click',...)方法绑定的事件。
所以我要问的是,更改使用.on()方法绑定的jQuery事件的执行函数的最佳方法是什么? 感谢您的帮助。
答案 0 :(得分:1)
您可以使用.off("click")
删除该事件,然后附加新事件,但这会删除所有点击事件。
$(document).off('click');
或者保留可能附加的其他事件:
$(document).off('click', 'a.close, #mask');
JS小提琴: http://jsfiddle.net/3Xzjj/