javascript - 在同步调用之前调用一个函数

标签 javascript jquery ajax jquery-plugins blockui

我有一个简单的问题(但答案似乎并不简单)。

我的代码中有一个同步 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/

相关文章:

javascript - emscripten - 如何从 JavaScript (Chrome/Firefox) 读取 C 数组?

javascript - 使用 JavaScript 删除 head 标签内的 noscript 标签

php - 从 html 创建弹出窗口,而不是文件

javascript - webpack 创建的脚本执行两次

javascript - 更改 Bootstrap 的移动导航断点后移动菜单切换错误

javascript - 修复输入字段后,html5 oninvalid 不起作用

jquery - 使用 Jquery 检测 Windows 平板电脑(触摸 Windows 设备)

javascript - 多个切换 ID - 当另一个打开时关闭一个

javascript - 使用 jquery 在最后一张图像后附加 html

javascript - 用户登录后如何通过浏览器记住登录详细信息