本文實例分析了jQuery prototype沖突的2種解決方法。分享給大家供大家參考,具體如下:
jquery和prototype怎么會沖突,歸根到底就是因為他們二個都用到了$,同時用,混淆了。這個問題解決過不下5次,每次解決都要查一下。淡疼,嘿嘿。
方法一、在jquery的核心庫文件中加代碼。
1、一般是jquery.js,或者jquery.min.js,有的帶版本號的。知道是哪個文件就行。
})( window );jQuery.noConflict(); //最后面,加上這一行。
2、加載測試jquery和prototype文件
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/prototype/1.7.1.0/prototype.js"></script><script src="jquery.min.js"></script>
3、js代碼寫法
<script type="text/javascript">alert('prototype value : '+$('test').value); //prototype寫法jQuery(document).ready(function($){ //注意這里的,jQuery和$ alert('jquery value : '+$('#test').val()); //jquery寫法});</script>
推薦這種方法,這種方法比較一勞永逸
完整demo代碼如下:
<html><head><script type="text/javascript" src="./prototype.js"></script><script src="jquery.min.js"></script></head><body><form><input id="test" type='text' name='test' value='test'/></form><script type="text/javascript">alert('prototype value : '+$('test').value);jQuery(document).ready(function($){ alert('jquery value : '+$('#test').val());});</script></body></html>
方法二、在調用jquery的地方,解決沖突
1、加載測試jquery和prototype文件
//jquery和prototype,沒有先后順序,誰先誰后都一樣。<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script><script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/prototype/1.7.1.0/prototype.js"></script>
2、js代碼
<script type="text/javascript">jQuery.noConflict(); //解決沖突,這個一定要放在js代碼的最前面,不然就會報錯了。alert('prototype value : '+$('test').value);jQuery(document).ready(function($){ alert('jquery value : '+$('#test').val());});</script>
這種方法比較適合jquery的核心源文件不在自己的服務器上,或者jquery代碼比較少的情況。該示例demo點此查看。
完整demo可點擊此處本站下載。
希望本文所述對大家jQuery程序設計有所幫助。
新聞熱點
疑難解答