如何解决两个jquery冲突?

时间:2012-06-11 10:55:38

标签: javascript jquery jquery-ui

我有一个页面,其中包括用于窗帘效果的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>  

4 个答案:

答案 0 :(得分:16)

首先,尝试使用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);

答案 1 :(得分:3)

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

答案 2 :(得分:2)

您可以使用

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

答案 3 :(得分:0)

你不能/不应该包含两个不同版本的jQuery。坚持一个(最近的一个应该是最好的选择)。如果你想要的插件只支持1.3之类的非常古老的版本,那么你应该选择一个更新的版本或者开始在代码中摆弄。