如何防止jQuery中复选框单击时执行多个代码
How to prevent multiple code execution on checkbox click in jQuery?
在我的页面上,我有这样的复选框:
<input id="check0" type="checkbox">
每次用户选中或取消选中它时,我都想执行一些jQuery代码。下面是这个代码的示例:
$("input[type=checkbox]").click(function () {
if ($(this).is(':checked')) {
// Calculate something here
}
else {
// Or calculate something here
}
});
问题是:如果用户真的很快多次点击复选框,有些代码会被执行多次,因为它每次都会触发点击功能,但浏览器不会那么快改变"检查"状态!
如何防止这种情况发生?
我想放一些类似的东西:
$("input[type=checkbox]").click(function () {
if ($(this).is(':checked')) {
// Disable checkbox
$(this).disabled = true;
// Calculate something here
// Enable it back
$(this).disabled = false;
}
else {
// Or calculate something here
}
});
如何使我的代码按此顺序精确执行?禁用>然后执行代码>然后重新启用?
感谢
您应该在更改时使用,而不是在单击时使用。然后检查检查的道具。如果选中,则运行代码。如果要禁用,请使用attr。
试试这个。。。
$("#check0").on("change", function () {
if($(this).prop("checked") == true){
alert("hey now");
$(this).attr("disabled","disabled");
} else {
//nothing
}
});
http://jsfiddle.net/Eddieflux/z3xfcmgk/
相关文章:
- 有没有一种方法可以通过只引用JavaScript来执行代码
- jQuery在类更改时执行代码
- 如果此代码运行,请执行代码
- Javascript等待ajax成功后再执行代码
- 如何在onclick事件执行代码时在ImageButton上设置加载gif
- php,如果我点击按钮程序重新加载页面,并且从不继续执行代码
- Javascript渲染.如何编写Javascript;t在函数调用结束之前继续执行代码
- 无法让 jQuery 以正确的顺序执行代码
- ReactJS:在带有 ajax 调用的 .map() 语句完成后执行代码
- 从一个文本框执行代码,并在另一个文本框中以 HTML 显示输出
- 自执行代码中的“this”
- 为什么Javascript不按顺序执行代码
- 如何在javascript中连续执行代码
- 加载所有图像后执行代码
- 按下多个按钮时执行代码
- 如何在检索到数据后使用drawCallback执行代码
- 等待promise解析后再执行代码
- jQuery没有为具有新id的新元素执行代码
- 如何在客户端Collection增长时立即反应性地执行代码
- 如何将变量表达式转换为可执行代码(而不是替换值)