陶士涵
2014-11-18 21:40
Var _jQuery = window.jQuery,
_$ = window.$;
jQuery.noConflict = function( deep ) {
if ( window.$ === jQuery ) {
window.$ = _$;
}
if ( deep && window.jQuery === jQuery ) {
window.jQuery = _jQuery;
}
return jQuery;
};
当加载jQueryxxx.js中:var _jQuery = window.jQuery, _$ = window.$的时候。还没有执行下面的 if(typeof noGlobal xxx){xxx} 这个代码段,此时 window.jQuery = window.$ = _$ = _jQuery = undefined。虽然后面继续加载到 if(typeof noGlobal){...} 之后,window.jQuery = window.$ = jQuery赋值完成之后,但前面加载过的_$和_jQuery 仍是undefined。 当我们调用jQuery.noConflict()的时候,此时 window.$ === jQuery成立,进而执行window.$ = _$; 而_$仍然是undefined。所以 window.$ = undefined也就间接相当于把 $ 销毁了
同问楼主,解决没
因为你要先加载一个类$的命名空间的库!
在上面的代码调用之后$还是存在的啊?$还是jquery的对象啊?为什么jquery里面调用这个noconflict后之后就会把$销毁了呢
jQuery源码解析(架构与依赖模块)
84049 学习 · 280 问题
相似问题