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=$;
就可以了 .