这是我的按钮:
<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>
这是我的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)下运行时,它会在我单击按钮后显示图标。我不明白为什么。这里有人可以解释吗?提前谢谢。
答案 0 :(得分:0)
普通HTML不支持双向数据绑定。在正常模式下,脚本文件中的更改不会反映在您的视图中。设置调试器时,它会运行,因为它有时间进行DOM更新。最好设置一个超时并首先显示微调器,并且只在延迟后加载脚本功能。