2013-10-05 36 views
1

哪個tabstrip widget有一個工作的onload事件鉤子,所以我可以在打開tab時運行一些代碼(加載標籤內容)?哪個JQuery Tab Widget提供onload事件?

JQuery UI選項卡有一個"activate" event,但是當頁面加載時它不會被觸發,所以打開URL#tabs-2將顯示一個空的第二個選項卡。有一個"create" event,它在頁面加載時觸發,但不是在單擊一個標籤時導致重複代碼(在兩個事件中都是相同的回調)。
到目前爲止,我只找到obvious workaround將該代碼放入一個單獨的函數loadTabstrip1Tab(index)/ loadTabstrip2Tab(index)/ ...這兩個事件中調用。
根據bug report (activate event not fired for first tab when created),缺乏這樣的事件似乎是一個設計決定。
可能有一個簡單的解決方案,但我似乎無法弄清楚。
(Re-)Activating the currently active tab什麼都不做。

有沒有修復這個小部件?

有人可以推薦另一個標籤小部件,它提供了這樣的標籤激活事件掛鉤?

回答

1

那麼我找到了一些JQuery UI選項卡。 「顯示」選項是不是一個事件,但它看起來像它做什麼我期望的「激活」事件做:

$("#tabs").tabs({ 
    show: function(e,ui) 
    { 
     alert("tab " + ui.panel.id + " activated"); 
    } 
}); 

這裏有一個jsfiddle demo (works with JQuery 1.9 + JQuery UI 1.9)

所以我想這將第一個問題變成「這是一個好/壞的解決方案」...