2011-06-20 57 views
2

我正在使用jquery Tools tabs并希望在其初始化后的某个时间点(例如当前选项卡)禁用特定选项卡。点击按钮。jQuery工具选项卡:如何禁用选项卡

这是我现在有的代码,它可以工作,但我想知道是否有更好的解决方案。

想象我有一个运行这样的 “禁用” 按钮:

//disable all tabs except for current tab 
$("ul.tabs").tabs("div.panes > div", function(ev,index){ 
    if (index != this.getIndex()){ 
     return false; 
    } 
}) 

,然后 “启用标签” 按钮,这是否:

$("ul.tabs").tabs("div.panes > div") //enables all tabs (by not disabling any) 

的问题是,如果我没有弄错,我会重新初始化标签,而不是修改原始的现有实例。有更好的解决方案吗?

+2

不知道,如果你有兴趣在不同的插件,但[标签jQueryUI的(http://jqueryui.com/demos/ tabs /#method-disable)具有开箱即用的功能。 –

+0

@David感谢您的建议+1。尽管如此,我仍将这个问题留作任何可能对jQuery Tools解决方案感兴趣的人的参考。 – fortuneRice

回答

1

据jQuery的工具Tabs Wizard Demo你可以改变onBeforeClick事件,要禁用选项卡上返回

下面是从选项卡向导文件的代码的副本缩短

$("ul.tabs").tabs("div.panes > div", function(event, index) { 
    /* now we are inside the onBeforeClick event */ 
    if (index == 1 OR index == MYDISABLEDTAB) { 
     // when false is returned, tab cannot be activated 
     return false; 
    } 

    // everything ok 
});