0

我正在使用 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我得到了刚刚加载的选项卡的完整 URL,这让我相信这ui.tab不是我期望的那种对象。我也尝试过使用ui.panel.index(),但我得到了同样的undefined错误。

我可以使用事件和获取activated选项卡的索引,但这不是我想要的。activateui.newTab.index()

我错过了什么?

4

1 回答 1

4

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

这将为您获取选项卡的索引:

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

         console.log(index);
    }
});

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

于 2013-05-09T18:49:15.407 回答