有人可以告诉我如何停用 onchange 事件并重新激活它
$(':checkbox').each(function (k, v) {
$(this).onchange = null;//
$(this).off() // works but I do not know how to reactivate onchange event
})
Run Code Online (Sandbox Code Playgroud)
编辑 1:让我向您解释我的问题......我在我的复选框上使用引导程序切换。但也许这只是一个细节。
所以我的问题是..我的表单上有一个“重置”按钮。当我点击它时,我有一个函数在我的表单的每个复选框上循环尝试“重置”每个复选框。通过重置我的复选框,我的意思是将它们设置为初始值。. . 但是这样做我会触发稍后出现在我的代码中的“onchange”函数。而且我不想触发那个“onchange”功能
我会推荐两种选择之一。
首先,您可以通过为函数命名来解除绑定和重新绑定处理程序:
function handleCheckboxClick(e) {
//...
}
$(':checkbox').off('change');
$(':checkbox').on('change', handleCheckboxClick);
Run Code Online (Sandbox Code Playgroud)
另一个选项是创建一个您设置为true或false根据需要指定是否执行处理程序的变量:
$(':checkbox').on('change', function(e) {
if (!window.shouldExecuteCheckboxChangeHandler)
return;
//...
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5216 次 |
| 最近记录: |