Bootstrap 5不依赖jQuery JS插件调用方法

夜丽吖_3612

夜丽吖_3612

2026-04-25

172人浏览

原创

bootstrap 5 js插件必须用bootstrap.modal.getorcreateinstance()等显式实例化,禁用jquery语法;事件须绑定到dom元素本身,属性名强制data-bs-*前缀,且初始化代码须确保在bootstrap.bundle.min.js加载后执行。

bootstrap 5不依赖jquery js插件调用方法

Bootstrap 5 的 JS 插件根本不能用 $ 调用,所有 $.modal()、$('.dropdown').dropdown('toggle') 这类写法会直接报 TypeError: $ is not a function 或 ReferenceError: $ is not defined —— 不是配置问题,是代码被彻底移除。

bootstrap.Modal 等构造器必须显式 new 实例

每个组件现在都是一个独立的 ES6 类,挂载在全局 bootstrap 对象下。不能靠选择器批量触发,必须先获取 DOM 元素,再传入构造器。

  • document.getElementById('myModal') 或 document.querySelector('#myModal') 必须存在,否则 new bootstrap.Modal(null) 会抛错
  • 推荐用 bootstrap.Modal.getOrCreateInstance() 替代 new,它自动防重复初始化(比如模态框多次点击)
  • 若需批量控制多个 Modal,得用 querySelectorAll + 循环:document.querySelectorAll('[data-bs-toggle="modal"]') 找出触发源,再各自绑定逻辑
  • 示例:安全初始化并打开
const myModalEl = document.getElementById('myModal')
if (myModalEl) {
  const modal = bootstrap.Modal.getOrCreateInstance(myModalEl)
  modal.show()
}

data-bs-* 属性只管“自动初始化”,不响应手动调用

写了 data-bs-toggle="modal",点击按钮能弹窗,是因为 Bootstrap 在 DOM 就绪时扫描并自动调用了 bootstrap.Modal;但你想在 JS 里执行 modal.hide(),就得自己持有实例引用。

chartjs-reporter
chartjs-reporter

此技能用于在用户需要将结构化数据(查询结果、CSV 摘要、JSON 记录或 Python 字典/列表)转换为独立的 HTML 页面时使用。

下载
  • 动态插入的 HTML(如 innerHTML += '...')不会被自动扫描,data-bs-toggle 在里面完全无效
  • 如果同时写了 data-bs-toggle 又手动 new bootstrap.Modal(),可能触发两次事件(比如 show.bs.modal 触发两遍)
  • 属性名必须带 bs- 前缀:data-bs-target="#myModal",漏掉 bs- 就静默失效,控制台无提示

事件监听必须绑定到 DOM 元素本身

v4 习惯写 $(document).on('shown.bs.modal', '#myModal', handler),v5 不再支持事件委托式监听,必须直接绑在目标元素上。

  • 正确方式:document.getElementById('myModal').addEventListener('shown.bs.modal', handler)
  • 注意:事件名不变(仍是 shown.bs.modal),但触发对象是 Modal 的根 DOM 元素,不是 document
  • 如果 Modal 是动态创建的,事件监听代码必须在 new 或 getOrCreateInstance() 之后执行,否则监听无效
  • 移除监听要用 removeEventListener,不能依赖 jQuery 的 off() —— 它不存在

常见错误:bootstrap is not defined 怎么办

这个错误和引入文件无关,90% 是执行时机错了 —— 你的 JS 代码跑在 bootstrap.bundle.min.js 加载完成前。

  • bootstrap.bundle.min.js 必须放在你自定义脚本之前,且不能只靠 defer 保序(CDN 场景下尤其危险)
  • 最稳写法:把初始化代码包进 DOMContentLoaded,或直接放在

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

jquery js bootstrap

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

2623

5

前端如何实现即时通讯
前端如何实现即时通讯

实现即时通讯的方法有WebSocket、Long Polling、Server-Sent Events、WebRTC等等。详细介绍:1、WebSocket,它可以在客户端和服务器之间建立持久连接,实现实时的双向通信,前端可以使用 WebSocket API来创建WebSocket连接,并通过发送和接收消息来实现即时通讯;2、Long Polling,是一种模拟实时通信的技术等等。

2023.10.09

5723

6

前端和后端的区别
前端和后端的区别

前端关注的是用户界面的设计和交互,而后端则注重数据处理和逻辑控制。想了解更多前端后端的相关内容,可以阅读本专题下面的文章。

2024.03.19

6690

13

php和前端的关联介绍
php和前端的关联介绍

php既可以作为前端语言,也可以作为后端语言。想了解更多php和前端的相关内容,可以阅读本专题下面的文章。

2024.03.22

6398

10

前端外包工作内容有哪些
前端外包工作内容有哪些

前端外包工作内容包括:1. 网站和应用程序开发;2. 用户界面和交互设计;3. 用户体验优化;4. 设计和视觉开发;5. 跨浏览器兼容性;6. 性能优化;7. 维护和更新;8. 项目管理和沟通。想了解更多前端的相关内容,可以阅读本专题下面的文章。

2024.05.22

903

5

bootstrap框架介绍
bootstrap框架介绍

本专题整合了bootstrap框架相关介绍,阅读专题下面的文章了解更多详细内容。

2026.03.18

725

21

bootstrap安装教程
bootstrap安装教程

本专题整合了bootstrap安装相关教程,阅读专题下面的文章了解更多详细操作教程。

2026.03.18

199

9

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

20

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

0

10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
jQuery官方API文档
jQuery官方API文档

共0课时 | 0人学习

jQuery 教程
jQuery 教程

共42课时 | 16.5万人学习

HTML+CSS基础与实战
HTML+CSS基础与实战

共132课时 | 19.3万人学习