Bootstrap 5 选项卡导航在 Firefox 和 Internet Explorer 中不起作用

问题描述

我使用的是 Bootstrap 5 导航标签,但这些标签在 Firefox 89.0.2 和 Internet Explorer 11+ 上没有变化。控制台中没有错误

cdn js:

<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/js/bootstrap.bundle.min.js"></script>

html:

<nav>
    <div class="nav nav-tabs" id="dvtabs" role="tablist">
        <button class="nav-link active" id="nav-contact-tab" data-bs-toggle="tab" data-bs-target="#nav-contact" type="button" role="tab" aria-controls="nav-contact" aria-selected="true">C</button>
        <button class="nav-link" id="nav-associate-tab" data-bs-toggle="tab" data-bs-target="#nav-associate" type="button" role="tab" aria-controls="nav-associate" aria-selected="false">A</button>
    </div>
</nav>

<div class="tab-content" id="dvtabcontent">
    <div class="tab-pane fade show active" id="nav-contact" role="tabpanel" aria- labelledby="nav-contact-tab"></div>
    <div class="tab-pane fade" id="nav-associate" role="tabpanel" aria- labelledby="nav-associate-tab"></div>
</div>

解决方法

经过简单的测试,我发现它在FireFox中可以正常工作(参考jquery 3.6.0和bootstrap.css/js 5.0.1)。我不确定您是否引用了 jquery 和 bootstrap.css。但它在 IE11 中不起作用。根据控制台中的错误信息,我认为问题的原因是IE不支持箭头功能。

如果你需要使用bootstrap来实现这样的功能,我推荐你使用bootstrap4。经测试,在IE11中使用bootstrap4可以正常工作。

简单测试:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
    <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
</head>
<body>
    <nav>
        <div class="nav nav-tabs" id="nav-tab" role="tablist">
            <button class="nav-item nav-link active" id="nav-home-tab" data-toggle="tab" href="#nav-contact" role="tab" aria-controls="nav-home" aria-selected="true">C</button>
            <button class="nav-item nav-link" id="nav-profile-tab" data-toggle="tab" href="#nav-associate" role="tab" aria-controls="nav-profile" aria-selected="false">A</button>
        </div>
    </nav>
    <div class="tab-content" id="dvtabcontent">
        <div class="tab-pane fade show active" id="nav-contact" role="tabpanel" aria- labelledby="nav-contact-tab">panel C</div>
        <div class="tab-pane fade" id="nav-associate" role="tabpanel" aria- labelledby="nav-associate-tab">panel A</div>
    </div>
</body>
</html>