【发布时间】:2013-03-12 16:49:03
【问题描述】:
我正在将代码从 jQuery UI 1.8 升级到 1.10。
1.8以下,tab改变时触发的事件是select,我可以通过ui.index访问被选中的tab的索引。
1.10以下,tab改变时触发的事件为activate。但是,我在事件参数ui 中找不到任何告诉我新激活选项卡的索引的内容。
我怎样才能发现那个索引?
【问题讨论】:
我正在将代码从 jQuery UI 1.8 升级到 1.10。
1.8以下,tab改变时触发的事件是select,我可以通过ui.index访问被选中的tab的索引。
1.10以下,tab改变时触发的事件为activate。但是,我在事件参数ui 中找不到任何告诉我新激活选项卡的索引的内容。
我怎样才能发现那个索引?
【问题讨论】:
您可以使用以下方法http://jsfiddle.net/9ChL5/1/:
$("#tabs").tabs({
activate: function (event, ui) {
console.log(ui.newTab.index());
}
});
【讨论】:
ui.newTab 是这里的常规 jQuery 对象,index() 是 jQuery 的 index()(在 activate event docs 中用“Type: jQuery”表示)。
UI 对象还在,但是好像直接持有oldTab、newTab、oldPanel、newPanel 的jQuery 对象,所以不需要索引就可以找到要使用的对象。
见http://api.jqueryui.com/tabs/#event-activate
ui Type: Object
- newTab
Type: jQuery
The tab that was just activated.
- oldTab
Type: jQuery
The tab that was just deactivated.
- newPanel
Type: jQuery
The panel that was just activated.
- oldPanel
Type: jQuery
The panel that was just deactivated.
【讨论】: