jquery - 即使条件为 false,代码也会执行

标签 jquery

整个下午我都在挣扎,没有任何帮助我无法继续下去。

开门见山。

// 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。我不明白为什么如果条件为假它就会被执行。不过我可能错过了或者做错了什么。

最佳答案

事件发生时,仅运行(并重新运行)处理程序中的代码。

以下是代码运行的顺序:

  1. 创建stop变量并将其设置为 false .

  2. 连接 changeinput处理程序。

  3. 检查if (stop === false)并且,既然这是真的,请执行 if 中的代码的 block 。

  4. 以后,每当值发生变化时,设置 stoptrue 。这对步骤 #3 中运行的代码没有任何影响。

关于jquery - 即使条件为 false,代码也会执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43501093/

相关文章:

javascript - jQuery - 运行函数来替换常用代码

Javascript JQuery - 如果值为 0 则隐藏按钮,否则显示

jquery - 在链式选择框上应用 jquery 选择框样式

javascript - jQuery:从 <tr> 中拆分 <td>

javascript - jQuery 返回错误的文档高度

javascript - 切换 Bootstrap 导航下拉菜单

jquery - 按顺序加载图像

javascript - 网页中每个部分的最大化、最小化和关闭按钮

javascript - 在 javascript 或 jquery 中循环遍历 PHP 关联数组

javascript - JavaScript 有构建 URL 的功能吗?