我在这里浏览了很多处理这个问题的帖子,但似乎没有一个能解决我的问题。
我以正确的顺序导入了 jQuery 和 Bootstrap js 文件。引导面板之类的东西对我来说工作得很好。
我的脚本导入是这样的:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css" rel="stylesheet">
但是,当我尝试
$('[data-toggle="popover"]').popover();
我在 Chrome 控制台中收到以下消息:
Uncaught TypeError: $(...).popover is not a function
起初我以为 CDN 的副本中可能没有包含 popover,所以我继续从这里下载了一个包含所有插件的本地副本:
http://getbootstrap.com/customize/
并得到相同的错误消息(将脚本标签重新指向本地 js 文件)。
在 bootstrap.min.js 文件中搜索“popover”:
http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js
显示弹出窗口包含在文件中。
原文由 Serguei Fedorov 发布,翻译遵循 CC BY-SA 4.0 许可协议
由于您已经声明您已正确包含 jQuery 和其他库,因此 1 种可能的情况是页面中可能有多个 jQuery 实例。
因此,根据所使用的服务器技术,搜索 jQuery 的重复版本,如果有则删除它们(如果不需要,则必须考虑使用 noConflict() )。
在重复的 jQuery 实例的情况下,问题是插件附加到的 jQuery 版本可能与您正在访问以使用插件的版本不同,此时将找不到插件。