我正在使用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不会更改我的网址
我试图删除属性data-toggle="tab"
,但是在那种情况下,我看到浏览器的地址字段中的url发生了变化(例如,当我单击第二个选项卡时变成www.mysite.com/profile
),但是第一个标签保持活动状态
答案 0 :(得分:0)
标签行为可以被javascript覆盖,如下所示:
document.querySelectorAll(".nav-item.nav-link").map((el) => el.addEventListener('click', (e) => { window.location.href( e.target.href ); }) )
(将其附加到您的标签上)