2015-09-22 2 views
1

У меня есть бутстраповские вкладки нав следующим образом:нав нав-вкладку отключить вкладку с помощью JQuery не работает

<ul class="nav nav-tabs"> 
    <li id="tab_a" class="active"><a data-toggle="tab" href="#ABC"><strong>ABC</strong></a></li> 
    <li><a data-toggle="tab" href="#PQR">PQR</a></li> 
    <li><a data-toggle="tab" href="#XYZ">XYZ</a></li> 
    </ul> 

Я пытаюсь отключить вкладку ABC следующим образом, используя jQuery и она не должна быть Нажать на в состоянии:

$('#tab_a a').attr('disabled', true); 

Не работает!

+0

Вы считали удаление атрибута toggle данных? $ ('# tab_a a'). removeAttr ("data-toggle") –

+0

@Nakata не работает! – Santhucool

+0

Пожалуйста, см. Мой ответ для исправления кода. –

ответ

1

Я попробовал это в JSFiddle и он должен работать:

$('#tab_a').find('a').removeAttr('data-toggle'); 
+0

Спасибо, приятель. Это сработало. Ты великолепен!! – Santhucool

0

Недопустимый атрибут для привязки. Ниже только работа around.Kind неактивного

Пожалуйста, попробуйте следующие: -

.disable_a_href{ 
    pointer-events: none; 
} 

$('#tab_a a').addClass("disable_a_href"); 

Добавлено далее

$('#tab_a a').attr("href","javascript:void(0)") 

Вы можете проверить here

+0

не работает приятель – Santhucool

+0

вы можете проверить ссылку на скрипач –

+0

Приятель вашей скрипки отлично работает. w8 позвольте мне проверить. В моем случае у меня разные div для разных вкладок. ваш метод только удаляет указатель, но он доступен для клика! – Santhucool

0

Вы можете попробовать использовать этот код сделать ваш код более легким

<script type="text/javascript"> 

    $('#tab_a').on('click', function() { 
    return false; 
    }); 
</script> 

Тогда вы также можете поместить некоторые CSS, чтобы изменить курсор на инвалидов

<ul class="nav nav-tabs"> 
    <li id="tab_a" class="active"><a data-toggle="tab" href="#ABC" style="cursor: not-allowed;"><strong>ABC</strong></a></li> 
    <li><a data-toggle="tab" href="#PQR">PQR</a></li> 
    <li><a data-toggle="tab" href="#XYZ">XYZ</a></li> 
</ul> 

надеюсь, что это поможет ...

0

Прежде всего, я предполагаю, что вы используете Bootstrap 3, как я.

Я видел ответы на вопросы вроде этого, говорящие, что можно просто вернуть false из click событие, чтобы отключить вкладку. Однако, похоже, это решение зависит от порядка присоединения событий. Если событие «Bootstrap» запускается до вашего «отмены», это не сработает. И это было в случае приложения, над которым я работаю.

Что на самом деле работало для меня, было Bootstrap tab events.

Это как ваш код должен выглядеть используя show.bs.tab событие:

$('#tab_a a').on('show.bs.tab', function() { 
    return false; 
}); 

При необходимости, вы можете добавить дополнительную логику внутри функции.