首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果单击其他选项卡,jqueryui ajax选项卡将停止加载。

如果单击其他选项卡,jqueryui ajax选项卡将停止加载。
EN

Stack Overflow用户
提问于 2010-08-17 00:07:28
回答 1查看 1.5K关注 0票数 2

我有一个具有两个选项卡的jQueryUI选项卡控件设置。一种是通过ajax加载其内容,它是默认的选项卡。另一个是简单的非ajax选项卡。

当用户访问该页面时,将显示ajax选项卡。由于内容加载至少需要5-10秒,因此一些用户单击查看第二个选项卡。此时,当显示第二个选项卡时,ajax调用似乎被取消了-选项卡的加载器消失了,单击ajax选项卡只显示一个空白的div。由于我关闭了缓存,选项卡不会重新加载。打开缓存将允许用户至少再次请求数据,但由于这些调用可能需要很长时间,因此这不是一个可行的解决方案。

这种情况下的理想行为是,即使单击了其他选项卡,ajax选项卡仍保持其请求打开。

这个是可能的吗?

EN

回答 1

Stack Overflow用户

发布于 2010-08-17 00:16:37

缺省行为是对挂起的请求you can see it in the source here调用.abort()

代码语言:javascript
复制
if ( this.xhr ) {
  this.xhr.abort();
  delete this.xhr;
}

但是您可以使用select事件处理程序稍微欺骗一下它,并删除对前一个XmlHeepRequest的引用,如下所示:

代码语言:javascript
复制
$("#tabs").tabs('destroy').tabs({
  select: function(event, ui) {
    $(this).data("tabs").xhr = null;
  }
});

这是因为select event handler是由before that .abort() call when selecting触发的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3495016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档