lovelmh13/myBlog

处理变量命名冲突 —— noConflict

Opened this issue · 0 comments

来源于 jQuery。

var $j = jQuery.noConflict();        //自定义一个比较短快捷方式 
$j(function(){                        //使用jQuery 
    $j("p").click(function(){ 
        alert( $j(this).text() ); 
    }); 
}); 

$("pp").style.display = 'none';        //使用prototype 

源码:

(function(window,undefined){
var 
// Map over jQuery in case of overwrite
_jQuery = window.jQuery,
// Map over the $ in case of overwrite
_$ = window.$,
jQuery.extend({
noConflict: function( deep ){
 if ( window.$ === jQuery ) {
 window.$ = _$;
 }
 if ( deep && window.jQuery === jQuery ) {
 window.jQuery = _jQuery;
 }
 return jQuery;
}
})
}(window)

jQuery $命名冲突解决方案汇总
jQuery中noconflict函数的实现原理分解
jquery源码——noConflict实现