jquery ui tabs - 在load事件中获取加载选项卡

时间:2013-05-09 18:18:34

标签: jquery jquery-ui jquery-ui-tabs

我正在使用jquery ui标签(来自ui版本1.9.2),标签是通过ajax远程加载的。

在API文档(http://api.jqueryui.com/1.9/tabs/#event-load)中,似乎建议我可以通过这种方式获取加载标签的索引:

$(".tabs").tabs({
    load: function(event,ui) { console.log(ui.tab.index());  }
});

然而,这不起作用。我收到错误,因为ui.tabundefined

当我在console.log ui.tab时,我得到刚刚加载的标签的完整网址,这让我相信ui.tab不是我期望的那种对象。我也尝试使用ui.panel.index(),但我得到了相同的undefined错误。

我可以使用activated事件和activate获取ui.newTab.index()标签的索引,但这不是我正在寻找的内容。

我错过了什么?

1 个答案:

答案 0 :(得分:4)

似乎jQuery UI文档尚未更新或出错(和/或预期的实现不正确)。 ui.tab正在返回DOM节点,而不是文档建议的jQuery对象。

这将获得标签的索引:

$("#tabs").tabs({
    load:function(event,ui) {
         var index = $(ui.tab).parent().index();

         console.log(index);
    }
});

如果您计划将该函数中的ui.tab节点用于任何其他目的,最好先将其缓存。