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

Ser*_*rov 34 javascript jquery twitter-bootstrap

我在这里看了很多关于这个问题的帖子,但似乎都没有解决我的问题.

我已按正确的顺序导入了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">
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试

 $('[data-toggle="popover"]').popover();
Run Code Online (Sandbox Code Playgroud)

我在Chrome控制台中收到以下消息:

 Uncaught TypeError: $(...).popover is not a function
Run Code Online (Sandbox Code Playgroud)

起初我想也许popover没有被包含在CDN的副本中,所以我继续下载了一个包含所有插件的本地副本:

http://getbootstrap.com/customize/
Run Code Online (Sandbox Code Playgroud)

并得到相同的错误消息(将脚本标记重新指向本地js文件).

在bootstrap.min.js文件中搜索"popover":

http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js
Run Code Online (Sandbox Code Playgroud)

显示popover包含在文件中.

Aru*_*hny 51

既然你已经声明你已经正确地包含了jQuery和其他库,那么1个可能的情况是页面中可能有多个jQuery实例.

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

在重复的jQuery实例的情况下,问题是插件附加到的jQuery版本可能与您访问的那个不同,在那时使用插件的插件将无法找到.


小智 9

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