【问题标题】:How to resolve two jquery conflict?如何解决两个jquery冲突?
【发布时间】:2020-02-19 17:58:29
【问题描述】:

我有一个页面,其中包含用于窗帘效果的 jquery 和其他用于滑块的页面。我面临的问题是我的两个 jquery 不能一起工作。我该怎么办?

我的示例代码是

    <!-- 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>  

【问题讨论】:

  • jQuery需要加两次吗?
  • 注意:JavaScript != Java(标签)

标签: javascript jquery jquery-ui


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    删除其中一个,最好是这个&lt;script type="text/javascript" src="js/jquery-1.3.2.js"&gt;&lt;/script&gt;

    【讨论】:

    • 是的,删除第二个就可以了。另外作为旁注,你为什么将你的 jquery 放在一个名为 images 的目录中?
    【解决方案3】:

    你可以使用

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

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-11-26
        • 2023-03-30
        • 2014-10-19
        • 1970-01-01
        • 2017-12-03
        • 2012-11-20
        • 1970-01-01
        相关资源
        最近更新 更多