jQuery中函数变量$冲突的解决办法

来源:互联网 发布:poco下载软件 编辑:程序博客网 时间:2024/05/16 15:50

        最近项目中,使用jQuery发现其中的函数变量$与其它JS框架冲突。google后发现一个解决办法:

var jQuery=jQuery.noConflict();

       在使用 jQuery.noConflict();后,就只能使用jQuery变量访问jQuery对象。例如,在要用到$("div p")的地方,就必须换成jQuery("div p") .

       在jQuery1.3.2中,解决函数变量“$”冲突问题,对JS类库的引入顺序没有特殊要求。只要jQuery.noConflict(true);在jQuery的引入后执行即可。

 jQuery.noConflict()函数的源码为:

noConflict: function( deep ) {

window.$ = _$;

if ( deep )

window.jQuery = _jQuery;

return jQuery;

}

创建一个新的别名用以在接下来的库中使用jQuery对象。

         jQuery 代码:

                var j = jQuery.noConflict();

         // 基于 jQuery 的代码

                j("div p").hide();

        // 基于其他库的 $() 代码

               $("content").style.display = 'none';

 jQuery.noConflict(true)则不仅可以防止$冲突,还可以防止jQuery这个关键词冲突。

jQuery 代码:

       var j = jQuery.noConflict(true);

// 基于 jQuery 的代码

       j("div p").hide();

 // 基于其他库的 $() 代码

      $("content").style.display = 'none';

// 基于其他库(或版本)的

jQuery() 代码

     jQuery("#abc").html("这种情况很少见!");

原创粉丝点击