我遇到了将jQuery延迟对象与jQuery UI选项卡集成的一些问题。
基本上,我想实现这样的目标:
(function($) {
var tabs;
function func1 () {
return $.get(url, function() {
// ajax call 1
});
};
function loadTabs() {
return tabs = $('.tabs').tabs({
ajaxOptions: {
beforeSend: function(jQXHR, settings) {
// load spinner image
},
complete: function(jqXHR, settings) {
// destroy spinner image
}
}
})
};
$.when(func1(), loadTabs()).then(function() {
tabs.bind('tabsload', function(event, currentTab) {
// do something
}
});
})(jQuery);
基本上,我不认为我从标签实例化中获取了延迟对象。我已经读过升级到jQuery 1.9 UI候选版本可能会公开API以获取延迟对象,但我似乎无法找到该功能的文档。
编辑:这个实现的总体目标是在收到func1()和loadTabs()的结果时显示加载微调器图标。一旦这两个过程完成,我想隐藏/销毁微调器。
答案 0 :(得分:1)
为什么不这样做:
function myTabs() {
loadSpinner();
$.ajax(url, { data: data})
.done(loadTabsFunction)
.always(killSpinner)
;
}
function loadTabsFunction(response) { }
function loadSpinner() { }
function killSpinner() { }
myTabs();