Найти активную вкладку с помощью jQuery и Twitter Bootstrap
Я уже некоторое время ломаю голову, и я хотел бы знать, знает ли кто-нибудь, как я могу найти активную вкладку, используя jQuery и Bootstrap Twitter. Потянуть хэш из URL-адреса, это не мой первый вариант, я использую
3 ответа:
Twitter Bootstrap присваивает
active
классli
элемент, представляющий активную вкладку:$("ul#sampleTabs li.active")
альтернативой является привязка
shown
событие каждой вкладки и сохраните активную вкладку:var activeTab = null; $('a[data-toggle="tab"]').on('shown', function (e) { activeTab = e.target; })
вот ответ для тех из вас, кто нуждается в Boostarp 3 решение.
в bootstrap 3 Используйте 'shown.bs. tab' вместо 'shown' в следующей строке
// tab $('#rowTab a:first').tab('show'); $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) { //show selected tab / active console.log ( $(e.target).attr('id') ); });
прежде всего вам нужно удалить data-toggle. Мы будем использовать некоторые JQuery, поэтому убедитесь, что вы включили его.
<ul class='nav nav-tabs'> <li class='active'><a href='#home'>Home</a></li> <li><a href='#menu1'>Menu 1</a></li> <li><a href='#menu2'>Menu 2</a></li> <li><a href='#menu3'>Menu 3</a></li> </ul> <div class='tab-content'> <div id='home' class='tab-pane fade in active'> <h3>HOME</h3> <div id='menu1' class='tab-pane fade'> <h3>Menu 1</h3> </div> <div id='menu2' class='tab-pane fade'> <h3>Menu 2</h3> </div> <div id='menu3' class='tab-pane fade'> <h3>Menu 3</h3> </div> </div> </div> <script> $(document).ready(function(){ // Handling data-toggle manually $('.nav-tabs a').click(function(){ $(this).tab('show'); }); // The on tab shown event $('.nav-tabs a').on('shown.bs.tab', function (e) { alert('Hello from the other siiiiiide!'); var current_tab = e.target; var previous_tab = e.relatedTarget; }); }); </script>