同一個專案中兩個jqery版本共存的問題
阿新 • • 發佈:2019-01-31
jQuery載入的時候會生成兩個變數來引用jQuery物件,一個就是關鍵字jQuery,另一個就是$
而當兩個版本的jQuery存在的時候,第二個jQuery就會把第一個版本里面的兩個變數完全覆蓋,
所以如果真遇到這種情況,那必須想個辦法.
下面是我的解決方案:
<script type="text/javascript"> var j$ =$.noConflict(); </script> <script src="${resource(dir:'resource/fileupload',file:'jquery.js')}"></script> <script src="${resource(dir:'resource/fileupload',file:'ajaxfileupload.js')}"></script> <script src="${resource(dir:'js/production',file:'pro_form_upload.js')}"></script> <script type="text/javascript"> var ju = $.noConflict();//把上面匯入的jQuery的$變數取消 var $ =j$.noConflict();//還原原來的jQuery的版本 </script>
原理就是,先把原來的$變數儲存起來,然後開始載入第二個jQuery,
然後開始執行必要的邏輯,
等執行完整之後,在把原來的$變數恢復回來,
當然,這裡麵包括JQuery變數也能恢復,我這裡沒有用到,就沒做
在最下面直接加一句,
JQuery=$;
就可以了 .