缓存JQuery UI-Tabs Ajax加载的内容?

con*_*ile 3 html javascript jquery jquery-ui jquery-ui-tabs

我使用JQuery UI Tabs.我所做的是使用Ajax加载每个选项卡的内容,如下所示:http://jqueryui.com/tabs/#ajax

问题:如果用户单击选项卡A,然后再单击选项卡B,然后再单击选项卡A,则选项卡A的内容将加载两次.

是否可以缓存JQuery UI选项卡的内容?

hun*_*ter 6

尝试使用该beforeLoad活动:

$(".selector").tabs({
    beforeLoad: function(event, ui) {
        // if the target panel is empty, return true
        return ui.panel.html() == "";
    }
});
Run Code Online (Sandbox Code Playgroud)

beforeLoad(event,ui)

在beforeActivate事件之后,在即将加载远程选项卡时触发.可以取消以防止标签面板加载内容; 虽然该面板仍将被激活.在发出Ajax请求之前触发此事件,因此可以对ui.jqXHR和ui.ajaxSettings进行修改.

注意:尽管提供了ui.ajaxSettings并且可以对其进行修改,但jQuery已经处理了其中一些设置.例如,已应用预过滤器,已处理数据,并已确定类型.beforeLoad事件同时发生,因此具有与jQuery.ajax()的beforeSend回调相同的限制.