Javascript在普通模式下无效

时间:2017-09-28 04:55:50

标签: javascript jquery

这是我的按钮:

 <button type="button" class="btn btn-ok btn-edit-piattaforma" onclick="salvaClick();" data-loading-text="<i class='fa fa-spinner fa-spin'></i>Salva">
            <i class="glyphicon glyphicon-floppy-disk"></i>Salva
        </button>

enter image description here

这是我的javascript:

var salvaClick = function () {
    try {
        buttonSalva.load();//seems not work if in normal mode; if I set breakpoint at this line, it works.
        buttonStatus.disable();//works
        if (!valid()) {
            console.log("valid failure!");
        }
        else {
            Save(); //this is my business logic function
        }
        buttonSalva.reset();
        buttonStatus.enable();
    } catch (e) {
        //console.log(e.message);
        buttonSalva.reset();
        buttonStatus.enable();
    }
}

var buttonStatus = {
    disable: function () {
        $('.btn-edit-piattaforma').attr("disabled", true);
    },
    enable: function () {
        $('.btn-edit-piattaforma').attr("disabled", false);
    }
}

var buttonSalva = {
    load: function () {
        $('.btn-edit-piattaforma.btn-ok').button('loading');
    },
    reset: function () {
        $('.btn-edit-piattaforma.btn-ok').button('reset');
    }
}

场景:当用户点击“Salva”按钮时,我想显示显示正在加载的图标。当我在正常模式下运行时,它不会显示。但是当我设置断点并在调试模式(F12)下运行时,它会在我单击按钮后显示图标。我不明白为什么。这里有人可以解释吗?提前谢谢。

1 个答案:

答案 0 :(得分:0)

普通HTML不支持双向数据绑定。在正常模式下,脚本文件中的更改不会反映在您的视图中。设置调试器时,它会运行,因为它有时间进行DOM更新。最好设置一个超时并首先显示微调器,并且只在延迟后加载脚本功能。