我是一个jQuery noob,我试图找出如何陷阱选项卡选择事件。
使用jQuery 1.2.3和相应的jQuery UI选项卡(不是我的选择,我没有控制它)。它是一个带有第一级div名称的嵌套选项卡 – 标签。这是我如何初始化选项卡
使用jQuery 1.2.3和相应的jQuery UI选项卡(不是我的选择,我没有控制它)。它是一个带有第一级div名称的嵌套选项卡 – 标签。这是我如何初始化选项卡
$(function() { $('#tabs ul').tabs(); }); $(document).ready(function(){ $('#tabs ul').tabs('select',0); });
我无法弄清楚如何捕获任何事件或属性(选定的标签页,当选项卡点击等)。感谢任何帮助…
我试过像:
$('#tabs ul').bind('tabsselect',function(event,ui) { selectedTab = ui.index; alert('selectedTab : ' + selectedTab); }); (OR) $('#tabs').bind('tabsselect',ui) {
没有成功。
下面是标记
<div id="tabs"> <UL> <LI><A href="#fragment-1"><SPAN>Tab1</SPAN></A></LI> <LI><A href="#fragment-2"><SPAN>Tab2</SPAN></A></LI> <LI><A href="#fragment-3"><SPAN>Tab3</SPAN></A></LI> <LI><A href="#fragment-4"><SPAN>Tab4</SPAN></A></LI> </UL> <DIV id=fragment-1> <UL> <LI><A href="#fragment-1a"><SPAN>Sub-Tab1</SPAN></A></LI> <LI><A href="#fragment-1b"><SPAN>Sub-Tab2</SPAN></A></LI> <LI><A href="#fragment-1c"><SPAN>Sub-Tab3</SPAN></A></LI> </UL> </DIV> . . . </DIV>
解决方法
捕获选项卡选择事件的正确方法是在初始化选项卡时设置一个函数作为选择选项的值(您也可以随后动态设置),如下所示:
$('#tabs,#fragment-1').tabs({ select: function(event,ui){ // Do stuff here } });
你可以看到实际代码在这里:http://jsfiddle.net/mZLDk/
编辑:使用你给我的链接,我创建了一个测试环境的jQuery 1.2.3与jQuery UI 1.5(我想?)。有些事情显然从那时起改变了。没有与原始事件对象分离的单独的ui对象。代码看起来像这样:
// Tab initialization $('#container ul').tabs({ select: function(event) { // You need Firebug or the developer tools on your browser open to see these console.log(event); // This will get you the index of the tab you selected console.log(event.options.selected); // And this will get you it's name console.log(event.tab.text); } });
。。如果这里有什么需要学习的,那就是支持旧代码是很难的。请参阅jsfiddle更多:http://jsfiddle.net/qCfnL/1/