繁体   English   中英

Bootstrap 的 JavaScript 需要 jQuery 1.9.1 或更高版本,但低于版本 3

[英]Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 3

简介

我正在使用引导程序框架。我目前正在研究“引导程序选项卡”(隐藏/显示)。我正在使用引导程序版本 3 和 jquery 版本 3.0.2。

问题

我的选项卡不起作用,除非我加载版本低于 1.6 的 jquery。但是 ajax 使 jquery 低于 1.6 出现问题。 Chrome 控制台给我这个错误。

bootstrap.min.js:6 未捕获错误:Bootstrap 的 JavaScript 需要 jQuery 1.9.1 或更高版本,但低于版本 3

我尝试了不同的回退技术,但无法正确实施。

我在这里被困了 2 天,如果有人有任何想法或任何参考,请帮忙。感谢您的时间。

目前 Bootstrap 3.x 不支持 jQuery 3.x,如此处报道: https : //github.com/twbs/bootstrap/issues/16834

问题是由以下原因引起的:

jQuery 3 比 jQuery 2 更严格。它就像 XHTML 和 HTML。 向后兼容性得以保留,代码看起来不会一团糟。 如果我没记错的话,您需要做的就是将 show() 和 hide() 函数替换为 .css('display', '') 或 addClass('hidden') 并修复 alert.js 中的选择器(QUnit在这一行失败,因为 $('#') 在 jQuery 3 中无效)

它在 Bootstrap 3.3.7 版本中得到修复: https : //github.com/twbs/bootstrap/issues/16834#issuecomment-225039913

最新版本的 Bootstrap (3.3.7) 现在支持 jQuery 3+,根据这里的开发人员评论https://github.com/twbs/bootstrap/issues/16834

如果您使用 Bower 管理您的 javascript 包,要排除 jquery 3.0,您应该指定 jquery 的版本,例如:

"jquery": "^2.2"

在你的bower.json

jquery-ui包的bower.json有如下一行:

"jquery": ">=1.6"

因此,Bower 安装了最新版本的 jQuery,这会导致您的问题。

请注意,jQuery 3.0 于 2016 年 6 月 9 日发布。

解决我的问题实际上是在 bootstrap.js 之前加载 jquery 较低版本,然后在 bootstrap.js 之后加载 jquery 较高版本以解决冲突。 以上是我的例子

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="~/App_Theme/bootstrap/js/bootstrap.min.js"></script>
<script>
    var $j = jQuery.noConflict();
</script>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
<script>
    var $ = jQuery.noConflict();
</script>

至于我,一切都很简单。 这都是关于队列链接文件的。 我需要移动这样的链接:

<head>
     <script src="js/jquery1.9.1.js"></script>
     <script src="js/bootstrap.js"> </script>       
</head>

毕竟 - 它工作正常。

我有同样的问题,我的网页中没有 jquery 1.8.2。我通过在packages.config 中更改 jquery 版本来解决我的问题

改变

  <package id="AspNet.ScriptManager.jQuery" version="1.8.2" targetFramework="net45" />
 <package id="jQuery" version="1.8.2" targetFramework="net45" />

<package id="AspNet.ScriptManager.jQuery" version="2.1.4" targetFramework="net45" />
 <package id="jQuery" version="2.1.4" targetFramework="net45" />

我的 jquery 版本是2.1.4

所以我有了新版本的 Bootstrap,但由于某种原因,min 版本仍然是不支持 JQuery 3 的旧版本。我删除了缩小的 bootstrap JS,然后重新缩小了新的 Bootstrap.js 并部署,问题就消失了。

将此代码放在 Functions.php 中

wp_deregister_script(‘jquery’);
wp_register_script(‘jquery’, ‘//cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js’, false, null);
wp_enqueue_script(‘jquery’);

这是参考网址: https : //wordpress.org/support/topic/error-bootstraps-javascript-requires-at-least-jquery-v1-9-1/


随着迁移到 wordpress 5.6,我遇到了同样的问题:bootstrap 和 jquery 之间的冲突。 我网站上的导航不适用于所有下拉菜单。 我已经在我的文件夹 css + js 中将 boostrap3.3.6 更改为 boostrap3.3.7 以获得使用 jquery 1.9.1 的引导程序并且它可以工作。

我也在 WordPress 5.6 中遇到了这个错误,手风琴停止工作。 将 JS 和 CSS 从 boostrap3.3.6 升级到 boostrap3.3.7 也修复了我的错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM