如何从外部链接打开标签? [英] How to open a tab from external link?
问题描述
我的网页使用的是 Bootstrap 4,我的导航标签有问题.
我需要从登录标签内容页面通过那里的超链接打开一个忘记密码标签.
以下代码在 Bootstrap 3 中对我有效,但在 Bootstrap 4 中无效
<div class="tab-content"><div class="tab-pane淡出显示活动"id="登录">登录选项卡<a href="#forgot-password" data-toggle="tab">转到忘记密码</a>
<div class="tab-pane fade" id="forgot-password">忘记密码选项卡</div><div class="tab-pane fade" id="sign-up">sign-up tab</div>
我能想到两种方法来解决这个问题:
- 由于 Bootstrap 4 不使用 url
#hash
es 进行标签导航,一个简单的 javascript 可以监听常规链接上的点击事件并触发额外的点击——在引擎盖– 在相应的选项卡上. - 使用 url
#hash
es 并根据该值的变化打开标签.这种方法的另一个优点是选项卡可以直接链接,因此您可以使用例如example.com#sign-up 打开特定标签页.
您会在下面找到每种方法的两个片段.
1.幕后点击:
$('.tab-link').on('click', function(event) {//防止url改变event.preventDefault();//`this` 是被点击的 标签$('[data-toggle="tab"][href="' + this.hash + '"]').trigger('click');})
<div class="tab-content" id="myTabContent"><div class="tab-pane淡出显示活动" id="log-in" role="tabpanel" aria-labelledby="log-in-tab">登录选项卡<br/><a href="#forgot-password" Xdata-toggle="tab" class="tab-link">转到忘记密码</a>
<div class="tab-panefade" id="forgot-password" role="tabpanel" aria-labelledby="forgot-password-tab">忘记密码选项卡
<div class="tab-pane fade" id="sign-up" role="tabpanel" aria-labelledby="sign-up-tab">注册选项卡