jQuery选项卡-获取所选选项卡的选项卡模板

jQuery选项卡-获取所选选项卡的选项卡模板,jquery,jquery-ui,jquery-ui-tabs,Jquery,Jquery Ui,Jquery Ui Tabs,我有三个标签。默认情况下选择Tab1。如果我点击Tab2;我想获取上一个选中的选项卡 我试过: var previousTab; jQuery(function () { jQuery("#tabs").tabs({ select: function (event, ui){ doSomething(previousTab); previousTab = jQuery(ui.tab); },

我有三个标签。默认情况下选择Tab1。如果我点击Tab2;我想获取上一个选中的选项卡

我试过:

var previousTab;

jQuery(function () {
    jQuery("#tabs").tabs({
            select: function (event, ui){
            doSomething(previousTab);
            previousTab = jQuery(ui.tab);
            },
            create: function (event, ui) {
            previousTab = jQuery(ui.tab);
        }
    });
});
这不管用。谁能告诉我这个问题的解决办法吗


提前感谢。

原因是,在
create
ui
是一个空对象。如果您知道在开始时选择了第一个选项卡,只需在
create
处将上一个选项卡变量分配给第一个选项卡即可

一个建议是:您可以将其存储在
#tabs
元素中,而不是创建一个全局变量来跟踪上一个选项卡。通常,避免在全局范围内创建变量是一种良好的做法

$('#tabs').tabs({
    select: function(event, ui) {
        var previousTab = $(this).data('previousTab');
        if (previousTab !== undefined)
            console.log(previousTab);
        $(this).data('previousTab', $(ui.tab));
    },
    create: function(event, ui) {
        $(this).data('previousTab', $($(this).find('ul > li > a').get(0)));
    }
});
jQuery(function () {
    jQuery("#tabs").tabs({
        select: function (event, ui) {
            previousTab = jQuery(ui.tab);
        },
        show: function (event, ui) {
            previousTab = jQuery(ui.tab);
        }
    });
});

查看它的操作:。

我使用
show
函数解决了它。
previousTab
是全局范围内的变量

$('#tabs').tabs({
    select: function(event, ui) {
        var previousTab = $(this).data('previousTab');
        if (previousTab !== undefined)
            console.log(previousTab);
        $(this).data('previousTab', $(ui.tab));
    },
    create: function(event, ui) {
        $(this).data('previousTab', $($(this).find('ul > li > a').get(0)));
    }
});
jQuery(function () {
    jQuery("#tabs").tabs({
        select: function (event, ui) {
            previousTab = jQuery(ui.tab);
        },
        show: function (event, ui) {
            previousTab = jQuery(ui.tab);
        }
    });
});

谢谢你的回答。我也找到了一种方法。但是你的看起来不错。在这种情况下,可能更适合称它为
currentTab