make bootstrap tab refre sh ссылка при нажатии на вкладку - PullRequest
0 голосов
/ 13 июля 2020

Я использую Bootstrap4.4.5 и пытаюсь реализовать вкладки, как показано ниже:

<nav>
<div class="nav nav-tabs" id="nav-tab" role="tablist">
<a class="nav-item nav-link active" id="nav-home-tab" data-toggle="tab" href="/home" role="tab" aria-controls="nav-home" aria-selected="true">Home</a>
<a class="nav-item nav-link" id="nav-profile-tab" data-toggle="tab" href="/profile" role="tab" aria-controls="nav-profile" aria-selected="false">Profile</a>
<a class="nav-item nav-link" id="nav-contact-tab" data-toggle="tab" href="/contacts" role="tab" aria-controls="nav-contact" aria-selected="false">Contact</a>
</div>
</nav>
<div class="tab-content" id="nav-tabContent">
<div class="tab-pane fade show active" id="nav-home" role="tabpanel" aria-labelledby="nav-home-tab">...</div>
<div class="tab-pane fade" id="nav-profile" role="tabpanel" aria-labelledby="nav-profile-tab">... 
</div>
<div class="tab-pane fade" id="nav-contact" role="tabpanel" aria-labelledby="nav-contact-tab">... 
</div>
</div>

Обратите внимание, что href указывает на указанный URL-адрес в моем проекте. Действительно, я использую django и захватываю этот URL-адрес для вызова обработчика и выполнения некоторой работы. Но это не работает. Bootstrap не меняет мой URL-адрес

Я пытался удалить атрибут data-toggle="tab", но в этом случае я вижу, что URL-адрес изменяется в поле адреса моего браузера (например, становится www.mysite.com/profile, когда я нажимаю вторая вкладка), но первая вкладка остается активной

1 Ответ

0 голосов
/ 13 июля 2020

Поведение вкладки может быть отменено с помощью javascript, например:

document.querySelectorAll(".nav-item.nav-link").map((el) => el.addEventListener('click', (e) => { window.location.href( e.target.href ); }) )

(добавьте его в свои теги)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...