2011-06-20 107 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 
});