jQuery UI异步ajax请求设置为false会导致问题

前端之家收集整理的这篇文章主要介绍了jQuery UI异步ajax请求设置为false会导致问题 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我喜欢的浏览器IE(所有版本)和jquery的tab ui控件都有问题.我使用ajax选项加载选项卡的内容.现在的问题是我必须同步执行此操作,因此每个另一个请求都会导致异步.不适用于我或只是越野车.但这不是问题.问题是IE在锁定每次执行以上jquery代码之前不会应用ui状态处理. IE在这里的行为似乎与所有其他浏览器不同.一旦请求完成,这是一个奇怪的原因,该类被应用到tab元素上只是为了立即消失而导致一切都完成了.

有谁知道这可能是什么?已知问题?

顺便说一句,当我将async选项设置为true时,它可以完美工作.

三通

最佳答案
是的,这就是IE的功能.基本上,浏览器的工作方式如下:

while (stillRunning()) {
    renderDOM();
    getNextInputEvent();
    runScripts();
}

换句话说,在脚本完成运行之前,您不会更新DOM.现在,即使在某些情况下,即使是IE,IE也会不按顺序更新DOM(仅想到运行alert()或Confirm()),但通常不会.其他浏览器有时会不按顺序更新DOM,这就是您遇到的情况:非IE浏览器尽管仍停留在脚本运行阶段,但仍在更新DOM(因为您正在执行同步操作)调用,直到您获得返回值,它才完成脚本.

当然,当您异步运行它时,浏览器不会陷入脚本运行阶段,因此可以自由更新UI.

这就是为什么大多数Web应用程序都使用异步调用的原因.因为这样做不会冻结您的界面.

猜你在找的jQuery相关文章