2016-04-25 62 views
0

我試圖綁定事件偵聽器的jQuery選項卡激活事件檢測標籤使用tabsactivate - jQuery UI的

$( 「.selector」)。在( 「tabsactivate」 功能(事件,UI){} );

我無法弄清楚如何使上述功能基於活動選項卡工作。我可以通過將單擊事件綁定到選項卡來實現,但是當我使用箭頭鍵時它不起作用。

這是它的小提琴,

http://jsfiddle.net/aslums/CnEUh/3115/

$("#tabs").tabs({ 
    activate: function (event, ui) { 
     var active = $('#tabs').tabs('option', 'active'); 
     console.log("Active .."+active) 
    } 
} 
); 

$(".contentTab").on("tabsactivate", tabEnabled); 

function tabEnabled(){ 
console.log("here...") 
} 

目的是觸發功能,當標籤被激活

請讓我知道我是什麼失蹤。

回答

1

您可以使用自定義事件:

var tabsClicked = []; // keep track of clicked tab indexes 

activate: function (event, ui) { 
    … 
    // Only fire custom event the first time tab is active 
    if ($.inArray(active, tabsClicked) === -1) { 
     tabsClicked.push(active);   
     $(document).trigger("custom-event", [{tab_index : active}]);   
    } 
} 

$(document).on("custom-event", customEventHandler); 

function customEventHandler(event, data) { 
    console.log("Tab: " + (++data.tab_index) + " was clicked");; 
} 

http://jsfiddle.net/CnEUh/3146/

+0

感謝!是有可能引發自定義的方法,只有第一,不想Ajax調用每次被觸發標籤點擊 – Umar

+1

@Umar我做了一個新的小提琴(答案結尾的那個),它做你想做的。我還向代碼添加了一些評論。 –