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

jQuery导致Bootstrap导航栏下拉菜单无法正常收起的问题求助

问题描述

导航栏切换按钮点击展开功能正常,但再次点击无法收起,排查后确认是引入jQuery导致的问题。

问题原因

Bootstrap 5 完全移除了对 jQuery 的依赖,采用原生 JavaScript 实现组件功能。当页面同时引入 jQuery 和 Bootstrap 5 的 JS 文件时,jQuery 的事件处理机制会干扰 Bootstrap 折叠组件的状态切换逻辑,导致折叠状态无法正确更新,出现只能展开不能收起的情况。

解决方案

方案1:移除 jQuery(推荐)

如果项目中没有必须使用 jQuery 的场景,直接删除 jQuery 的引入代码即可:

<!-- 移除这行代码 -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>

保留 Bootstrap 5 的 bootstrap.bundle.min.js(已包含 Popper.js,无需额外引入),导航栏折叠功能即可恢复正常。

方案2:保留 jQuery 时的兼容处理(仅当必须用 jQuery 时)

若项目依赖 jQuery,需确保 Bootstrap 5 的 JS 在 jQuery 之后加载,且避免用 jQuery 手动绑定导航栏的点击事件。不过这种方式仍可能存在潜在冲突,因此优先推荐方案1。

修复后的完整代码示例
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css" integrity="sha384-Zenh87qX5JnK2Jl0vWa8Ck2rdkQ2Bzep5IDxbcnCeuOxjzrPF/et3URy9Bv1WTRi" crossorigin="anonymous">

<nav class="navbar fixed-top navbar-expand-lg navbar-dark p-md-3">
  <div class="container">
    <div class="row mt-1">
      <a href="/" class="navbar-brand col-4"><img src="https://via.placeholder.com/50" alt="Bastion Logo"></a>

      <div class="d-flex col-6 align-items-center">
        <h6 class="menuItem text-dark hover-underline-animation-navitem pb-1"><a href="mailto:support@bastiontech.co.uk" class="menuItem text-dark text-decoration-none">support@bastiontech.co.uk</a></h6>
      </div>
    </div>

    <button type="button" class="navbar-toggler text-bg-dark" data-bs-target="#navbarNav" data-bs-toggle="collapse" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle Navbar">
        <span class="navbar-toggler-icon"></span>
    </button>

    <div class="collapse navbar-collapse" id="navbarNav">
      <div class="mx-auto"></div>

      <div>
        <ul class="navbar-nav">
          <li class="nav-item hover-underline-animation-navitem">
            <a href="#" class="nav-link menuItem text-dark">Website Design</a>
          </li>
          <li class="nav-item hover-underline-animation-navitem">
            <a href="#" class="nav-link menuItem text-dark">SEO</a>
          </li>
          <li class="nav-item hover-underline-animation-navitem">
            <a href="#" class="nav-link menuItem text-dark">Power Apps</a>
          </li>
          <li class="nav-item hover-underline-animation-navitem">
            <a href="#" class="nav-link menuItem text-dark">Contact Us</a>
          </li>
          <li class="nav-item btn Audit btn-md text-white">
            Free Audit
          </li>
        </ul>
      </div>
    </div>
  </div>
</nav>

<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-OERcA2EqjJCMA+/3y+gxIOqMEjwtxJY7qPCqsdltbNJuaOe923+mo//f6V8Qbsw3" crossorigin="anonymous"></script>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 20:50:30