如何解决两个jquery冲突?

问题描述 投票:5回答:4

我有一个页面,其中包含用于幕布效果的jquery和其他用于滑块的jquery。我面临的问题是我的两个jqueries无法一起工作。我该怎么办?

我的示例代码是

    <!-- for slider -->
<script src="images/jquery-latest.js" type="text/javascript"></script>
<script src="images/jquery.bxslider2.min.js" type="text/javascript"></script>
<script src="images/scripts.js" type="text/javascript"></script>

    <!-- for curtain -->
<script type="text/javascript" src="js/jquery-1.3.2.js"></script>
<script src="js/jquery.easing.1.3.js" type="text/javascript"></script>  
javascript jquery jquery-ui
4个回答
17
投票

首先,尝试使用current jQuery version (1.7.2),看看两个脚本是否都可以。

如果没有,请考虑使用与当前jQuery版本兼容的东西-如果某些东西需要jquery 1.3,那么很长一段时间都没有更新。

如果您确实需要两个脚本,并且都需要使用不同的jQuery版本,那么您需要这样做:

<script src=".../jquery-1.3.2.js"></script>
<script src="script-that-needs-132.js"></script>
<script>var jQuery132 = $.noConflict(true);</script>
<script src=".../jquery-1.7.2.js"></script>

要使用旧的jQuery,然后使用如下代码包装代码:

(function($){
    // here $ points to the old jQuery
})(jQuery132);

3
投票

删除其中之一,最好删除此<script type="text/javascript" src="js/jquery-1.3.2.js"></script>


2
投票

您可以使用

 <script type="text/javascript" language="javascript">
    var jq = jQuery.noConflict();
</script>

0
投票

您不能/不应该包括两个不同版本的jQuery。坚持一个(最新的应该是最好的选择)。如果您所需的插件仅支持1.3之类的非常古老的版本,那么您应该选择一个较新的版本或开始摆弄代码。

© www.soinside.com 2019 - 2024. All rights reserved.