Вкладка JQuery - сделать выбранную вкладку интерактивной - PullRequest
1 голос
/ 13 ноября 2009

Мне нужно, чтобы текущая выбранная вкладка оставалась активной (т.е. ссылка все еще должна быть активной).

Содержимое на вкладке загружается через ajax и может изменяться, поэтому способ, которым человек может «обновить» его содержимое, снова щелкнув вкладку. Но настройки по умолчанию делают вкладку недоступной для щелчка, когда она выбран, что заставляет пользователя нажать на другую вкладку, а затем обратно обновить содержимое.

Я ценю любую помощь, спасибо.

Ответы [ 2 ]

0 голосов
/ 22 июня 2012

Определить событие onclick привязки к вкладке, чтобы перезагрузить или отправить на родительскую страницу, как это

<div id="divTab">
  <ul>
    <li><a href="#tab_1">First Tab</a></li>
    <li><a href="#tab_2" style="cursor:pointer;" onclick="window.location.reload();">Second Tab</a>
    </li>
    <li><a href="#tab_3" style="cursor:pointer;" onclick="window.location.replace('url');">Third Tab</a>
    </li>
  </ul>
</div>
0 голосов
/ 14 ноября 2009

Плагин tabs вызовет событие tabsselect при нажатии на вкладку. Зарегистрируйте обратный вызов, второй параметр которого будет иметь свойство 'tab', где вы можете проверить, на какой вкладке вы находитесь:

jQuery('#tabs-container').bind('tabsselect', function(e, tabsContainer) {

   jQuery(tabsContainer.tab).attr('href'));
});

EDITIED:

Он будет срабатывать только тогда, когда вкладка действительно изменится. Может быть, привязать элемент привязки в структуре вкладок и проверить класс ui-tabs-selected. На плагине вкладок есть достойная документация: http://docs.jquery.com/UI/Tabs.

Грубо:

jQuery('#tabs-container a').bind('click', function() {
    if(jQuery(e.target).hasClass('ui-tabs-selected')) {
        // do some stuff
    }
});
...