我最初将全局变量 isValid
声明为 true
。然后,当我跨选项卡导航时,我提交了表单,并且在提交时,isValid
的值更改为 false
。但是,我第一次导航时,它会提示值 true
而不是 false
。由于某种原因,提交函数在警报语句之后被调用。我该怎么做才能在警报语句之前调用它?
var isValid = true;
$('form').on('submit', function(e)) {
e.preventDefault();
// rest of the code
isValid = false;
}
$(document).on('hide.bs.tab', '.nav-pills a', function()) {
$('form').submit();
alert(isValid);
}
最佳答案
提交处理程序被异步调用,因此顺序可能是不确定的。您可以将警报调用放在处理程序中,或者考虑使用 jQuery deferred.promise() 之类的东西来控制调用流。
关于javascript - 提升导致 jQuery 中的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44440936/