Bootstrap 5 Modal 不显示?只需更新 data 属性名即可解决

1次阅读

Bootstrap 5 Modal 不显示?只需更新 data 属性名即可解决

bootstrap 5 移除了 jquery 依赖并统一将所有 data-* 属性前缀从 data-toggle 改为 data-bs-toggle,若仍使用旧版属性(如 data-toggle),modal 将完全失效。

bootstrap 5 中,官方彻底重构javaScript 插件的初始化机制,不再兼容 Bootstrap 4 的 data-toggle、data-target 等旧式 data 属性。这是导致 Modal 点击无响应、不弹出的最常见原因——不是代码逻辑错误,而是属性名未按新版规范更新

✅ 正确写法(Bootstrap 5+):

Doesn't have an account yet? Create an account

⚠️ 关键注意事项:

  • 所有 data-toggle → 必须改为 data-bs-toggle
  • 所有 data-target → 必须改为 data-bs-target
  • data-dismiss=”modal” 同样需更新为 data-bs-dismiss=”modal”
  • 确保已正确引入 Bootstrap 5 的 cssjs(推荐使用 cdn,且 JS 必须在 dom 加载后执行或置于 body 底部)
  • tabindex=”-1″ 和 aria-hidden=”true” 保留不变,仍为必需可访问性属性

? 额外提示:若 Modal 仍不工作,请检查浏览器控制台是否报错(如 Bootstrap’s javascript requires Popper),此时需确认是否已引入 Popper(Bootstrap 5.3+ 已内置,但早期 5.0–5.2 版本需单独引入);也可通过 JavaScript 手动触发验证:

// 控制台测试 const myModal = new bootstrap.Modal(document.getElementById('exampleModalCenter')); myModal.show();

升级到 Bootstrap 5 后,保持属性命名一致性是保障组件正常运行的第一步——切勿混合使用 v4 与 v5 的 data 属性。

text=ZqhQzanResources