You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bootstrap 5下拉菜单子项无法展开问题求助

Bootstrap 5下拉菜单点击无法展开排查与解决

问题描述

  • 页面中「member」下拉菜单可正常显示,但点击后子项(sign in、sign up)无法展开
  • 已确认Bootstrap CSS和JavaScript资源引入正确,菜单结构符合规范
  • 预期效果:点击「member」后子项展开,且支持点击跳转

问题代码

<body>
    <nav class="navbar navbar-expand-lg navbar-light bg-light">
        <div class="container-fluid">
            <a class="navbar-brand" href="main.jsp">Green Garden</a>
            <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav"
            aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
                <span class="navbar-toggler-icon"></span>
            </button>
            <div class="collapse navbar-collapse" id="navbarNav">
                <ul class="navbar-nav me-auto mb-2 mb-lg-0">
                    <li class="nav-item">
                        <a class="nav-link active" aria-current="page" href="main.jsp">Home</a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link" href="main.jsp">List</a>
                    </li>
                </ul>
                <ul class="navbar-nav ms-auto">
                    <li class="nav-item dropdown">
                        <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button"
                        data-bs-toggle="dropdown" aria-expanded="false">member</a>
                        <ul class="dropdown-menu" aria-labelledby="navbarDropdown">
                            <li><a class="dropdown-item active" href="login.jsp">sign in</a></li>
                            <li><a class="dropdown-item" href="join.jsp">sign up</a></li>
                        </ul>
                    </li>
                </ul>
            </div>
        </div>
    </nav>
    <div class="container">
        <div class="col-lg-4"></div>
        <div class="col-lg-4">
            <div class="jumbotron" style="padding-top: 20px">
                <form method="post" action="loginAction.jsp">
                    <h3>Sign in to your Account!</h3>
                    <div class="form-group">
                        <input type="text" class="form-control" placeholder="username" name="userID" maxlength="20">
                    </div>
                    <div class="form-group">
                        <input type="password" class="form-control" placeholder="password" name="userPassword" maxlength="20">
                    </div>
                    <input type="submit" class="btn btn-primary form-control" value="로그인">
                </form>
            </div>
        </div>
    </div>

    <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.6/dist/umd/popper.min.js"
    integrity="sha384-oBqDVmMz4fnFO9gybBogGzS1nQZVXT1mo/xWOVvBMEFJlHq2BOsvI5g5EnnxI3Ns" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"
    integrity="sha384-kenU1KFdBIe4zVF0s0G1M5b4hcpxyD9F7jL+3oY2amUK7B1o3J6tYf0XK72smfY6" crossorigin="anonymous"></script>
</body>
</html>

问题原因与解决

问题出在脚本引入冲突:Bootstrap 5的bootstrap.bundle.min.js已经内置了Popper.js,额外单独引入的popper.min.js会导致版本冲突,下拉组件的交互逻辑无法正常运行。

解决方法:删除单独引入的Popper.js脚本标签,只保留bootstrap.bundle.min.js即可。

修正后的脚本部分代码:

<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"
integrity="sha384-kenU1KFdBIe4zVF0s0G1M5b4hcpxyD9F7jL+3oY2amUK7B1o3J6tYf0XK72smfY6" crossorigin="anonymous"></script>

完成修改后,点击「member」下拉菜单即可正常展开子项。


内容的提问来源于stack exchange,提问作者cappuccino cat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 15:53:12