jquery ui选项卡 - 在加载事件中获取加载选项卡
我正在使用jquery ui选项卡(来自ui版本1.9.2),并且选项卡通过ajax远程加载。jquery ui选项卡 - 在加载事件中获取加载选项卡
在API文档(http://api.jqueryui.com/1.9/tabs/#event-load),这似乎表明,我可以得到一个加载选项卡的索引是这样的:
$(".tabs").tabs({
load: function(event,ui) { console.log(ui.tab.index()); }
});
但是,这是行不通的。我得到一个错误,因为ui.tab
是undefined
当我CONSOLE.LOG ui.tab
我得到的只是加载的标签的完整URL,导致我相信ui.tab
不是目标,我希望它成为的那种。我也尝试使用ui.panel.index()
,但我得到相同的undefined
错误。
我可以使用activate
事件和ui.newTab.index()
得到一个activated
选项卡的索引,但这不是我正在寻找的。
我错过了什么?
这似乎是jQuery UI文档尚未更新或他们是错误的(和/或预期的实现是不正确的)。 ui.tab
正在返回DOM节点,而不是文档建议的jQuery对象。
这将让该选项卡的索引为您提供:
$("#tabs").tabs({
load:function(event,ui) {
var index = $(ui.tab).parent().index();
console.log(index);
}
});
如果您计划使用该功能的ui.tab
节点用于任何其他目的可能是最好先进行缓存。
谢谢,大卫巴克。这解决了我的问题,所以我会将其标记为答案。任何想法,我可以向jQuery团队报告(过时的文档)? – Octavient 2013-05-09 18:54:35
我刚刚报告了它;-)(https://github.com/jquery/api.jqueryui.com/issues) – 2013-05-09 18:57:57
@ octavient docs是相关的1.10.3,1.9.2的确返回了一个DOM节点 – 2013-05-09 19:54:51
'console.log(ui)'应该告诉你所有你需要知道的能够找到索引的东西,如果它有可能从ui中找到它的话。 – 2013-05-09 18:21:53
如何?当我'console.log(ui)'我所得到的是'[object Object]'。 – Octavient 2013-05-09 18:25:13
使用浏览器与适当的控制台,如铬或firefox +萤火虫 – 2013-05-09 18:27:31