2013-09-28 4 views
1

Я знаю, что на вкладке jQuery есть событие активации, но я не знаю, как проверить, какая вкладка активировала событие. В документации не упоминается этот весьма важный аспект.Какая вкладка пользовательского интерфейса jQuery активирована

+1

возможно дубликат [JQuery UI Tabs Получить данный Selected Tab Index] (HTTP: // StackOverflow. com/questions/300078/jquery-ui-tabs-get-current-selected-tab-index) – Brian

+0

Мне трудно поверить, что даже если я могу подключиться к событию, мне все равно придется просверлить объект tabs до найдите выбранную вкладку. –

ответ

1

Один из аргументов в обратном вызове дает вам руку помощи, а это ui.newPanel.

Имейте ввиду, что событие активации не вызывается при создании вкладок и отображении первого. Для этого есть еще одно событие. Если вы хотите смешать два в одном обратного вызова, вот как вы можете добиться того, что в JQuery UI 1.10:

$(function() {  
    // prepare the events first 
    $("#tabs").on("tabsactivate tabscreate", (event, ui) => { 
     var panel = ui.newPanel || ui.panel; 
     if (panel.is("#tabs-1")) { 
      alert("first tab"); 
     } else if(panel.is("#tabs-2")){ 
      alert("second tab"); 
     } 
    }); 

    //construct the tabs 
    $("#tabs").tabs(); 
}); 
+0

Ничего себе, я никогда не думал, что «панель» на самом деле означает вкладку. Опять же, я никогда не знал, что в jQuery существует функция «есть». Очень элегантное решение. Надеюсь это работает. –

Смежные вопросы