2011-09-01 75 views
2

我使用嵌套jQuery UI tabs如下所示http://jsfiddle.net/VvFyM/1/jQuery UI的標籤嵌套的標籤事件觸發和結合

我想單獨綁定到tabsselect事件兩外標籤和嵌套的標籤。問題是,每當觸發嵌套標籤的tabsselect事件,似乎可以:

  1. 外面的標籤的tabsselect處理捕獲它,以及,或
  2. 外面的標籤的選擇事件也引發(因此它被捕獲)。

這是哪一個?

然後,有沒有辦法分別觸發和綁定2個事件?

所以,與其

$("#tabs").bind("tabsselect", function(ev, ui){ 
    console.log("Tab selected"); 
}) 

我想在你初始化做相反的初始化綁定之後綁定選擇功能類似

$("#tabs").bind("/*tabsselect outside tabs only*/", function(ev, ui){ 
    console.log("Tab selected"); 
}) 

$("#tabs").bind("/*tabsselect inside tabs only*/", function(ev, ui){ 
    console.log("Tab selected"); 
}) 

回答

2

標籤,並解決了這個問題。我更新你的小提琴顯示此:http://jsfiddle.net/R5sSh/

+0

非常感謝奏效。作爲一個後續,我怎麼能得到它,以便我可以控制它,當我點擊一個主選項卡時生成一個子選項卡選擇事件?基本上,當我點擊主選項卡時,我希望它遵循子選項卡的選擇事件。 – fortuneRice

+0

這是一個不同的問題,但你可能做的是爲子選項選擇事件創建一個單獨的函數,然後從選項卡和子選項卡選擇綁定中調用它。更新小提琴:http://jsfiddle.net/R5sSh/2/ –

0

此外,您可以刪除ui-tabs-selectedui-tabs-active類,那麼你可以使用$('#tabscontainer').tabs("select", hashOrIndex);