当用户进入我的jQuery应用程序的第5步时,代码运行:
buildStep5.find('input:checkbox').on('change', function(evt) {...
当用户返回步骤4时,我运行:
buildStep5.find('input:checkbox').empty();
我在jQuery文档中读到了remove()和empty(),但我不知道如何让它们在这种情况下工作。我得到的结果是当用户备份到步骤4然后转到步骤5时,对于每个onChange事件,复选框上的回调运行两次。如果有人可以提供帮助,我会非常感激。
答案 0 :(得分:0)
我建议你回去时使用.off()
:
buildStep5.find('input:checkbox').off('change');
这样您就可以在第5步删除附加到change
事件的事件处理程序。
答案 1 :(得分:0)
.off()方法删除了附带.on(),事件5的事件处理程序。
看看: JQuery off()