整个下午我都在挣扎,没有任何帮助我无法继续下去。
开门见山。
// On document ready
$(function() {
var stop = false;
$('#update-cart :input').on('change input', function() {
// Here you go
stop = true;
});
if (stop === false) {
// For some(silly) reason It gets executed on input field change
}
});
如果我理解正确,上面的代码将继续使用 if
语句,除非输入字段在设置新变量时发生一些更改。因此 if
条件仍然为 false。我不明白为什么如果条件为假它就会被执行。不过我可能错过了或者做错了什么。
最佳答案
事件发生时,仅运行(并重新运行)处理程序中的代码。
以下是代码运行的顺序:
创建
stop
变量并将其设置为false
.连接
change
和input
处理程序。检查
if (stop === false)
并且,既然这是真的,请执行if
中的代码的 block 。以后,每当值发生变化时,设置
stop
至true
。这对步骤 #3 中运行的代码没有任何影响。
关于jquery - 即使条件为 false,代码也会执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43501093/