Jquery-ui tabs(ajax)....当重新选择选项卡时,停止选项卡重新加载URL

Sir*_*jik 13 javascript jquery dhtml jquery-ui-tabs

我正在使用jquery ui标签,并使用.tabs('add'...)动态添加标签.选项卡使用ajax加载URL.问题是每次我点击另一个标签然后回来...标签重新加载网址.我希望网址加载一次....任何想法?

Che*_*oft 24

请注意,cache选项卡选项的属性在jQueryUI 1.9中已弃用,在1.10中已删除.请参阅jQueryUI 1.9升级指南

现在处理此问题的推荐方法是使用新beforeLoad事件来阻止XHR请求运行.

$( "#tabs" ).tabs({
  beforeLoad: function( event, ui ) {
    if ( ui.tab.data( "loaded" ) ) {
      event.preventDefault();
      return;
    }

    ui.jqXHR.success(function() {
      ui.tab.data( "loaded", true );
    });
  }
});
Run Code Online (Sandbox Code Playgroud)


And*_*ker 13

我想你正在寻找cache选项(默认为false):

是否缓存远程选项卡内容,例如仅加载一次或每次单击.

例如:

$("#tabs").tabs({ cache:true });
Run Code Online (Sandbox Code Playgroud)

这是一个简单的演示.使用Firebug或其他工具确保每个标签不会多次检索内容:http://jsfiddle.net/andrewwhitaker/D6qkW/

  • 无论如何你不接受我的编辑))不推荐使用缓存选项:http://jqueryui.com/upgrade-guide/1.9/#deprecated-ajaxoptions-and-cache-options-added-beforeload-event (4认同)
  • 现在删除了有利于自编码beforeLoad事件中的功能http://jqueryui.com/upgrade-guide/1.9/#deprecated-ajaxoptions-and-cache-options-added-beforeload-event (2认同)