jQuery.noConflict用于释放jQuery和$两个全局变量。
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <style rel="stylesheet" type="text/css"> 6 </style> 7 <script type="text/javascript"> 8 (function(){ 9 var _myjs=window.myjs; 10 var _$=window.$; 11 var myjs={ 12 version:1, 13 noConflict:function(deep){ 14 if(window.$ === myjs){ 15 window.$ = _$; 16 } 17 if(deep && window.myjs === myjs){ 18 window.myjs = _myjs; 19 } 20 return myjs; 21 } 22 }; 23 window.myjs = window.$ = myjs; 24 })(); 25 var myjs1=$.noConflict(); 26 27 (function(){ 28 var _myjs=window.myjs; 29 var _$=window.$; 30 var myjs={ 31 version:2, 32 noConflict:function(deep){ 33 if(window.$ === myjs){ 34 window.$ = _$; 35 } 36 // 如果已经不是当前版本则不进行深度释放. 37 if(deep && window.myjs === myjs){ 38 window.myjs = _myjs; 39 } 40 return myjs; 41 } 42 }; 43 window.myjs = window.$ = myjs; 44 })(); 45 var myjs2=$.noConflict(); 46 47 // 如上把$都释放了 48 49 window.onload=function(){ 50 document.body.innerHTML+=""+myjs.version+myjs1.version+myjs2.version; 51 }; 52 </script> 53 </head> 54 <body></body> 55 </html>