【发布时间】:2015-07-06 19:06:45
【问题描述】:
我在这里浏览了很多关于这个问题的帖子,但似乎没有一个能解决我的问题。
我已经以正确的顺序导入了 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
起初我以为可能 popover 没有包含在 CDN 的副本中,所以我继续下载了一个本地副本,其中包含了这里包含的所有插件:
http://getbootstrap.com/customize/
并得到相同的错误消息(将脚本标签重新指向本地 js 文件)。
在 bootstrap.min.js 文件中搜索“popover”:
http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js
显示弹出框包含在文件中。
【问题讨论】:
-
有多个jQuery实例
-
只需包含您的引导 js,并删除 jquery,然后尝试。
-
@Tushar 不,不会。如果在 Bootstrap JS 之后包含另一个 jQuery,
$将被重新定义,$.fn.popover将不存在。 -
@SergueiFedorov 您可以在浏览器控制台中尝试
jQuery.fn.jquery并交叉检查您导入的版本 -
这也是 require.js 之类的东西可以派上用场的地方,以确保即使多次加载也能获得正确版本的库。
标签: javascript jquery twitter-bootstrap