我遇到了一个问题。基本上,当用户点击页面上的 "编辑 "链接时,会运行以下Jquery代码。
$("#saveBtn").click(function () {
saveQuestion(id);
});
这样一来,保存按钮的onClick事件就会被调用。saveQuestion()
方法,并传递被点击 "编辑 "链接的问题的ID。
但是如果在同一个会话中,用户点击了2个问题的编辑,那么就不会覆盖之前的 "编辑 "链接。click
事件处理程序,而是导致运行2个事件处理程序,其中一个可能会调用 saveQuestion(1)
而另一个则可能叫 saveQuestion(2)
. 这样做1个问题就会覆盖另一个问题。
有没有办法把以前的 click
已分配给按钮的事件?
你可以使用 关闭() 来删除一个事件,就像这样。
$("#saveBtn").off("click");
但这将删除 所有点击事件 绑定到这个元素上。如果带有SaveQuestion的函数是唯一的事件绑定,那么上面的操作就可以了。如果不是,则执行以下操作。
$("#saveBtn").off("click").click(function() { saveQuestion(id); });
是否有办法删除所有以前的点击事件 已经分配给一个按钮?
$('#saveBtn').unbind('click').click(function(){saveQuestion(id)});
$('#saveBtn').off('click').click(function(){saveQuestion(id)});
如果你使用了....
$(function(){
function myFunc() {
// ... do something ...
};
$('#saveBtn').click(myFunc);
});
...那么以后解除绑定就比较容易了。