为了账号安全,请及时绑定邮箱和手机立即绑定

我有一个疑问,把$赋值给_$,那么 $就不存在了吗

Var _jQuery = window.jQuery,
   _$ = window.$;

jQuery.noConflict = function( deep ) {
   if ( window.$ === jQuery ) {
       window.$ = _$;
   }
if ( deep && window.jQuery === jQuery ) {
       window.jQuery = _jQuery;
   }
   return jQuery;
};

正在回答

4 回答

当加载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也就间接相当于把 $ 销毁了

4 回复 有任何疑惑可以回复我~

同问楼主,解决没

0 回复 有任何疑惑可以回复我~

因为你要先加载一个类$的命名空间的库!

0 回复 有任何疑惑可以回复我~

在上面的代码调用之后$还是存在的啊?$还是jquery的对象啊?为什么jquery里面调用这个noconflict后之后就会把$销毁了呢

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

我有一个疑问,把$赋值给_$,那么 $就不存在了吗

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信