我有一个绑定到隐藏模式对话框的操作的函数。
我使用的代码类似于this问题的公认答案。
$('#myModal').on('hidden', function () {
// do something…
})但是,此对话框可能会重新打开以进行编辑,当这种情况发生时,我不一定要运行此代码。有没有办法“解除绑定”函数,使其在对话框关闭时不再运行?我在the documentation里什么都没找到。
发布于 2013-01-22 11:32:04
您可以执行类似于解除绑定所有绑定到模态元素的事件的操作:
解除绑定模式中的所有事件:
/* First option */
$('#myModal').on('hidden', function (e) {
$(e.currentTarget).unbind(); // or $(this)
});
/* Second option is to call it directly when needed */
$('#myModal').unbind();Bootrap模式也有与之绑定的特定事件,因此您还可以指定要解除绑定的事件。
/* Events are 'hidden', 'hide', 'show', 'shown' */
$('#myModal').unbind(/* specific event here */);如果希望删除与模态内容相关的事件,只需清空$('#myModal').empty()中的元素并适当地解除这些元素的绑定即可。
发布于 2017-01-20 18:19:37
使用:
$('#myModal').off('hidden');为什么不解除绑定呢?
从jQuery 3.0开始,.unbind()已被弃用。从jQuery 1.7开始,它就被.off()方法所取代,因此不鼓励使用它。
来源:jQuery API。
https://stackoverflow.com/questions/14451052
复制相似问题