A-A+
解决jQuery库使用$ 与 其他JS库试用$ 重复冲突问题
$符号是很多插件中会使用到的一个快速获取对象的一个方法了,有时我们一个页面会使用到几个库,那么就会碰到与jquery $符号冲突了,下面我们就冲突问题来看看解决办法。
有时候需要同时使用jQuery和其它javascript,但是可能由于jquery和其他js都使用了$作为简写,会造成js重复冲突的情况,导致js报错,页面的js无法正常运行,要让jQuery和其它javascript库共存,有以下三种方法(均来自于官方网站):
1.覆盖$ 函数,使用jQuery代替$,代码如下:
- <script src="otherjs.js"></script>
- <script src="jquery.js"></script>
- <script type="text/javascript">
- <!--
- //这一句不能少
- jQuery.noConflict();
- // 使用jq的--将原来$改成jQuery
- jQuery(document).ready(function(){
- jQuery("div").hide();
- });
- // 使用用了$(...)的otherjs,这个不变
- $('otherid').hide();
- // -->
- </script>
【这样会使$恢复到原始库,在下面的代码中使用”jQuery”,而不是”$”】
2、让jquery使用其他简称来代替 $,比如说$zhoumanhe代替原来的$,代码如下:
- <script src="otherjs.js"></script>
- <script src="jquery.js"></script>
- <script type="text/javascript">
- <!--
- //这一句不能少,将$重新定义成 $zhoumanhe
- var $zhoumanhe = jQuery.noConflict();
- // 使用jq的--将原来$改成jQuery
- $zhoumanhe(document).ready(function(){
- $zhoumanhe("div").hide();
- });
- // 使用用了$(...)的otherjs,这个不变
- $('otherid').hide();
- // --></script>
【这样的话相当于$zhoumanhe代替$,当然可以使用其它字符。】
3、在页面jq的$用得太多,不希望改动太大,希望保留$,用一下办法,代码如下:
- <script src="otherjs.js"></script>
- <script src="jquery.js"></script>
- <script>
- //这一句不能少
- jQuery.noConflict();
- // Put all your code in your document ready area
- // 使用jq的--将jq的代码放到 jQuery(document).ready()里面,里面的jq代码还是使用$
- jQuery(document).ready(function($){
- // 里面还是可以使用$
- $("div").hide();
- });
- // 使用用了$(...)的otherjs,这个不变
- $('otherid').hide();
- </script>