解决jQuery的$冲突问题

Posted ReedSun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决jQuery的$冲突问题相关的知识,希望对你有一定的参考价值。

解决jQuery的$冲突问题

很多javascript的库使用$作为变量名,如果我们同时引用两个使用$作为变量名,或者引入两个不同版本的jQuery时,就可能会出现$冲突问题。

作为解决办法,我们可以使用

jQuery.noConflict()

来解决这个问题。

jQuery.noConflict()

jQuery.noConflict()的作用是放弃jQuery控制$ 变量。

具体应用方法

方法一

一种方法是使用jQuery来代替$

<script src="other_lib.js"></script>
<script src="jquery.js"></script>
<script>
    $.noConflict();    // 让jQuery放弃$变量的控制
    jQuery("div")...   // 使用jQuery来代替$
    $("div")...        // 其他库正常使用$
</script>

第一种方法有一个问题是我们必须全部使用jQuery来代替$,如果我们还想用$,我们可以参考以下两种方法。

方法二

这种方法是使用jQuery.ready()形成闭包,在闭包中运行jQuery代码

jQuery.ready() => 当DOM准备就绪时,指定一个函数来执行。

<script src="other_lib.js"></script>
<script src="jquery.js"></script>
<script>
    $.noConflict();    // 让jQuery放弃$变量的控制
    jQuery(document).ready(funciton($)
        ...            // jQuery代码在这里 
        )   
    ...                // 其他库代码在这里
</script>

方法三

这种方法是使用立即执行函数,让$作为函数的变量,调用jQuery作为$

<script src="other_lib.js"></script>
<script src="jquery.js"></script>
<script>
    $.noConflict();    // 让jQuery放弃$变量的控制
    (function($)
        ...            // jQuery代码在这里
    )(jQuery)  
    ...                // 其他库代码在这里
</script>

以上是关于解决jQuery的$冲突问题的主要内容,如果未能解决你的问题,请参考以下文章

解决jQuery的冲突问题

jQuery中 $ 符号的冲突问题

使用jquery时$符号冲突问题解决方案

jQuery版本之间冲突如何解决?

如何解决Jquery版本冲突[重复]

完美解决jQuery符号$与其他javascript 库框架冲突的问题