gpt4 book ai didi

javascript - jQuery 和 AngularJS 不能一起工作

转载 作者:可可西里 更新时间:2023-11-01 01:23:54 24 4
gpt4 key购买 nike

我正在使用 RequireJS 和 Angular,但它们在我的设置中没有协同工作。当 jQuery 版本为 1.7.2 时一切正常。但是我想使用 jQuery 1.8.1 和 jQuery UI 和 Angular 应用程序甚至无法用它初始化我的主模块。

问题是:

区分大小写的变量:jQuery 和 jquery。在 jquery 1.8.1 源代码中,最后他们定义了 window.jQuery。在早期版本 1.7.2 中定义了 window.jquery。

因为我想在我的应用程序中使用 jQuery UI,所以包含文件 jquery-ui-1.8.23.custom.min.js。包含它之后,我得到了“jQuery”未定义的错误。

所以,我决定升级我的 jQuery 版本并下载了上述 1.8.1 版本。在 jQuery 源代码的末尾,我可以看到该版本定义了 window.jQuery(jQuery UI 需要的正确大小写)。

我用 James Burke github 项目的最新版本更新了我的 require-jquery JS,并用 jquery 1.8.1 更新了它。

但是包括更新的jQuery/RequireJS项目在内,angularjs已经停止工作了。

我在 Chrome 控制台中收到此错误:

Console Output

如果我恢复到 1.7.2 angular 作品。或者,如果我编辑 jQuery 文件以定义 window.jquery 而不是 window.jQuery(注意大小写),它会再次起作用。但这意味着 jQuery UI 不会。

最佳答案

使用 jQuery 的 noConflict 方法是解决此问题的更优雅且面向 future 的解决方案。

查看有关 http://api.jquery.com/jQuery.noConflict/ 的大量文档

更新(来自链接的示例):

<script>
$.noConflict();
jQuery( document ).ready(function( $ ) {
// Code that uses jQuery's $ can follow here.
});
// Code that uses other library's $ can follow here.
</script>

关于javascript - jQuery 和 AngularJS 不能一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12496834/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com