解决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>
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值