Bootstrap 5.3.3导航栏切换按钮失效:是否仍需引入jQuery?
Bootstrap 5.3.3 导航栏切换按钮无响应问题解决
关于jQuery依赖的问题
Bootstrap 5 及后续版本完全移除了对jQuery的依赖,所有交互组件(包括导航栏折叠功能)都基于原生JavaScript实现。你当前引入的bootstrap.bundle.min.js已经包含了所有必需的脚本(包括Popper.js),不需要额外引入jQuery。
按钮无响应的核心原因
你在导航栏切换按钮中使用了旧版的data-target属性,而Bootstrap 5要求所有数据属性必须添加bs-前缀,正确的属性名应为data-bs-target。这就是点击按钮无反应的直接原因。
修正后的导航栏按钮代码
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#menuItems" aria-controls="menuItems" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button>
完整修正后的导航栏代码
<nav class="navbar navbar-expand-lg fixed-top navbar-dark bg-pink" id="mainNav"> <div class="container-fluid"> <a class="navbar-brand" href="#"><?= $title ?></a> <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#menuItems" aria-controls="menuItems" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="menuItems"> <ul class="navbar-nav ms-auto"> <li class="nav-item"> <a class="nav-link active" aria-current="page" href="#page-top">Home</a> </li> <li class="nav-item"> <a class="nav-link" href="#about">About</a> </li> <li class="nav-item"> <a class="nav-link" href="#listen">Listen</a> </li> <li class="nav-item"> <a class="nav-link" href="#comments">Comments</a> </li> <li class="nav-item"> <a class="nav-link" href="#stations">Our Family</a> </li> <li class="nav-item"> <a class="nav-link" href="#contact">Contact</a> </li> </ul> </div> </div> </nav>
验证说明
修正后刷新页面,切换到移动端尺寸点击按钮,菜单即可正常展开/收起。你当前引入的CSS和JS文件版本正确,无需其他调整。
内容的提问来源于stack exchange,提问作者JKofsky
相关产品推荐
相关产品推荐

