我有一个简单的问题(但答案似乎并不简单)。
我的代码中有一个同步 AJAX 调用,我想在此同步调用之前调用一个函数。
我想调用的函数很简单
$.blockUI();
来自 jQuery BlockUI 插件。
我只是试图将该行放在我的 $.ajax 调用之前,但 blockUI 似乎是在同步调用之后调用的。
然后我尝试使用 $.ajax 的 beforeSend 选项,同样的问题。
预先感谢您提供的任何答案(除了使用异步调用,这在我的情况下是不可能的......)
代码可在此处获得:http://jsfiddle.net/vWsus/2/
最佳答案
同步调用很糟糕,它们会锁定浏览器,如果调用未返回,则用户体验不佳。您遇到的问题是同步调用锁定了浏览器,因此 DOM 永远没有时间重绘。您需要给 DOM 更新时间,因此在进行 Ajax 调用之前设置超时。
$.blockUI({ message: '<p>foo</p>' });
window.setTimeout( ajxCallFnc, 100);
关于javascript - 在同步调用之前调用一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11632792/