$(...).popover 不是函数

新手上路,请多包涵

我在这里浏览了很多处理这个问题的帖子,但似乎没有一个能解决我的问题。

我以正确的顺序导入了 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 许可协议

阅读 720
2 个回答

由于您已经声明您已正确包含 jQuery 和其他库,因此 1 种可能的情况是页面中可能有多个 jQuery 实例。

因此,根据所使用的服务器技术,搜索 jQuery 的重复版本,如果有则删除它们(如果不需要,则必须考虑使用 noConflict() )。

在重复的 jQuery 实例的情况下,问题是插件附加到的 jQuery 版本可能与您正在访问以使用插件的版本不同,此时将找不到插件。

原文由 Arun P Johny 发布,翻译遵循 CC BY-SA 3.0 许可协议

包含 bootstrap.js 和 jquery.js 的顺序很重要。在 bootstrap.js 之前包含 jquery.js

原文由 Samir Kulkarni 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏