还有另一个jQuery noConflict()

Yet another jQuery noConflict()

本文关键字:noConflict jQuery 另一个      更新时间:2023-09-26
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script><!-- jQuery and $ now point to 1.10.2 -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script><!-- jQuery and $ now point to 1.11.0 -->
<script>
    $11 = $.noConflict();
    // $11 now points to 1.11.0
    // $ still points to 1.10.2
</script>
<!-- SB Admin Scripts -->
<script src="js/sb-admin.js"></script>
<!-- carouFredSel -->
<script src="js/jquery.carouFredSel-6.2.1.js" type="text/javascript"></script>
<script src="js/carouFredSel-hookup.js" type="text/javascript"></script>

我很难把这件事做好。

脚本sb-admin.js不能与同一页面上的carouFredSel.js

在脚本sb-admin.js中,我只使用变量$11,在jquery.carouFredSel.jsarouFredSelhookup.js仅使用变量§

目前,这些功能似乎都不起作用。我在这里做错了什么?

感谢您的帮助。

根据文件

如果由于某种原因加载了两个版本的jQuery(这是不推荐的(,从第二个版本调用$.noConflict(true(将使全局范围的jQuery变量返回到第一个版本的变量。

您没有提供true参数。更改为:

<script>
    $11 = $.noConflict(true);
    // $11 now points to 1.11.0
    // $ still points to 1.10.2
</script>

我不知道这是否能解决另外两个图书馆之间冲突的整体问题。这似乎不太可能,因为它们需要不同版本的jQuery。

我确实尝试过你的推荐,并将noConflict设置为(true(,但这并没有起到任何作用。

与此同时,我找到了一个变通办法,但不幸的是,我不知道为什么它现在有效。我正在为大约相同的菜单使用另一个功能,这个功能显然与我的旋转木马没有冲突。

这是一个与carouFredSel脚本冲突的脚本,菜单如下:http://startbootstrap.com/templates/sb-admin-v2/

这是另一个适用于carouFredSel的菜单脚本,它是:http://demo.onokumus.com/metisMenu/