每次单击停止加载Jquery UI ajax选项卡内容

时间:2011-04-08 11:07:57

标签: jquery jquery-ui

是否有任何方法可以在每次单击时停止在Jquery UI选项卡中加载ajax内容。

3 个答案:

答案 0 :(得分:3)

我想你不想每次都使用ajax加载文档。 比你可以启用缓存选项为true。 它只会加载文档一次并将其保存在缓存中。 http://jqueryui.com/demos/tabs/#option-cache

$( ".selector" ).tabs({ cache: true });

答案 1 :(得分:0)

如果你自己照顾ajax电话,你可以保存

$ ajax调用这样的变量:

var ajaxrequest = null;

...每次更改标签时,如果存在,则中止上一次通话,然后发出请求

if(ajaxrequest){
   ajaxrequest.abort();
}
ajaxrequest = $.ajax(.....);

答案 2 :(得分:0)

我遇到了同样的问题,我想我找到了答案。

只需保留已加载的选项卡列表,并在JQuery想要再次加载时取消加载事件。

    var loaded = [];

    $("#tabs").tabs({
        beforeLoad: function( event, ui ) {
            if ($.inArray(ui.ajaxSettings.url, loaded) === -1) {
                loaded.push(ui.ajaxSettings.url);
            } else {
                event.preventDefault();
            }
    };