是否有任何方法可以在每次单击时停止在Jquery UI选项卡中加载ajax内容。
答案 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();
}
};