我试图阻止jQuery函数在特定状态下被调用。
$('#first-page').click(function(event) {
// some code
$(event.target).attr("id","no-id");
// more code
}
为此,我重新命名了元素 id ,如上所示。但无论如何,这个功能仍然被调用。这不应该停止吗?
答案 0 :(得分:0)
这不应该停止吗?
不,因为处理程序直接绑定到元素。选择器仅用于最初查找元素。事件发生时不会使用它,因此更改元素的ID不会对处理程序产生任何影响。
$('#first-page').click(function handler(event) {
// some code
$(this).off(handler);
// more code
});
答案 1 :(得分:0)
jQuery将事件侦听器绑定到表示元素的DOM对象,该对象最初由提供的选择器标识。
因此,要删除onclick事件,您应该尝试类似:
$('#first-page').unbind('click');