我在文档加载时创建了一个动态加载的按钮。在此之后,我将一个单击处理程序附加到此按钮。当我尝试使用.off()
删除处理程序时,它不起作用。
此代码段创建点击处理程序并将其删除。但是,当我单击按钮时,函数StartMash
仍然会执行。
$(document).on("click", "#mash-idle-start", StartMash);
$("#mash-idle-start").off();
显然这不是我想要实现的功能,但问题仍然存在于这个简单的例子中
答案 0 :(得分:5)
因为事件处理程序未附加到#mash-idle-start
,所以它附加到document
所以
$(document).off("click", "#mash-idle-start", StartMash);
或
$(document).off("click", "#mash-idle-start");
注意:使用事件解除绑定时,请尝试使用event namespaces,因为您可以更好地控制删除哪些处理程序。