jQuery.noConflict用于释放jQuery和$两个全局变量。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style rel="stylesheet" type="text/css">
</style>
<script type="text/javascript">
(function(){
var _myjs=window.myjs;
var _$=window.$;
var myjs={
version:1,
noConflict:function(deep){
if(window.$ === myjs){
window.$ = _$;
}
if(deep && window.myjs === myjs){
window.myjs = _myjs;
}
return myjs;
}
};
window.myjs = window.$ = myjs;
})();
var myjs1=$.noConflict(); (function(){
var _myjs=window.myjs;
var _$=window.$;
var myjs={
version:2,
noConflict:function(deep){
if(window.$ === myjs){
window.$ = _$;
}
// 如果已经不是当前版本则不进行深度释放.
if(deep && window.myjs === myjs){
window.myjs = _myjs;
}
return myjs;
}
};
window.myjs = window.$ = myjs;
})();
var myjs2=$.noConflict(); // 如上把$都释放了 window.onload=function(){
document.body.innerHTML+=""+myjs.version+myjs1.version+myjs2.version;
};
</script>
</head>
<body></body>
</html>