
bootstrap 5 移除了 jquery 依赖并统一使用 `data-bs-*` 前缀替代旧版的 `data-toggle` 和 `data-target`,若未更新属性名,modal 将完全失效。
在 Bootstrap 5 中,所有 JavaScript 触发的 data 属性均已标准化为 data-bs-* 命名格式。你遇到的 Modal 不弹出问题,根本原因正是 HTML 中仍沿用了 Bootstrap 4 的 data-toggle="modal" 和 data-target="#exampleModalCenter" —— 这些在 Bootstrap 5 中已被废弃,浏览器会直接忽略,导致事件绑定失败。
✅ 正确写法(Bootstrap 5):
Java Maven 项目审查工作流的通用输入处理。当 Java Maven 项目以 ZIP压缩包或 GitLab 仓库 URL 形式提供且需要...时使用。
<div class="p border-top py-3">
Doesn't have an account yet?
<a href="#" data-bs-toggle="modal" data-bs-target="#exampleModalCenter">Create an account</a>
</div>
<div class="modal fade" id="exampleModalCenter" tabindex="-1" aria-labelledby="myLargeModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="myLargeModalLabel">Create Your Account</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<!-- 表单等内容 -->
<form>
<div class="mb-3">
<label for="email" class="form-label">Email address</label>
<input type="email" class="form-control" id="email" required>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancel</button>
<button type="submit" class="btn btn-primary">Sign up</button>
</div>
</div>
</div>
</div>⚠️ 注意事项:
- 确保已正确引入 Bootstrap 5 的 CSS 和 JS 文件(推荐使用 CDN):
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
- data-bs-dismiss="modal" 同样需用于关闭按钮,不可写作 data-dismiss;
- Modal 必须置于 <body> 级别(不能嵌套在 display: none 或 visibility: hidden 的父容器中),否则初始化失败;
- 若通过 JavaScript 手动调用,应使用 new bootstrap.Modal(...) 实例化,而非 $('#myModal').modal('show')(jQuery 方式已不支持)。
总结:从 Bootstrap 4 升级到 5 时,务必全局搜索替换 data-toggle → data-bs-toggle、data-target → data-bs-target、data-dismiss → data-bs-dismiss,这是 Modal、Collapse、Tooltip 等组件正常工作的前提。

















