Var _jQuery = window.jQuery,
_$ = window.$; //这两个变量其实是私有变量,查看源码可发现,是定义jQuery对象函数里的一个局部变量
jQuery.noConflict = function( deep ) {
if ( window.$ === jQuery ) {
window.$ = _$; //用私有变量覆盖window.$,导致jQuery的别名$失效了
}
if ( deep && window.jQuery === jQuery ) {
window.jQuery = _jQuery;
}
return jQuery;
};
$.noConflict最后是返回jQuery对象,也就是我们把$转交出去之后,还可以自己定义一个新的字符来替代$来使用jQuery对象,代码如下
var jq = $.noConflict();
jq("#mydiv").html("可以使用自己定义的符号应对冲突");
参考http://blog.jobbole.com/35722/