jQuery库与其他JS库冲突的解决办法

现在的js库很多,而且各有所长。像我,就比较喜欢jQuery,但同时也会使用一下其他的js库,如YUI,DWR什么的。但是它们却时不时地相互闹些小矛盾,真是让人头痛。究其原因,原来是它们的全局对象定义冲突了,特别是变量”$”,几乎百分之百要在这中招。怎么办?呵呵,看我的!

重载$函数。使用jQuery.noConflict()就可以通过重载$函数,从而区分开跟其他js库的重叠部分。例子如下:
  1. <script src="prototype.js"></script>   
  2. <script src="jquery.js"></script>   
  3. <script>   
  4.     jQuery.noConflict();   
  5.   
  6.     // Use jQuery via jQuery(…)   
  7.     jQuery(document).ready(function(){   
  8.     jQuery(”div”).hide();   
  9.     });   
  10.   
  11.     // Use Prototype with $(…), etc.   
  12.     $(’someid’).style.display = ‘none’;   
  13. </script>

记得要在载入完各js库后才能用jQuery.noConflict()进行重载哦,如例子中的prototype和jquery。

当然我们也可以不使用其默认的名字空间,比如我喜欢使用 $j() 而不是 jQuery() 。

  1. var $j = jQuery.noConflict();   
  2. $j(document).ready(function(){   
  3.     $j(”div”).hide();   
  4. });  

呵呵,很简单吧。原文在这里

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值