衆所周知,在jQuery語法中,$符號是jQuery的簡寫方式。但在某些狀況下,可能須要在同一個頁面引入其餘javascript庫(好比Prototype)。由於$簡短方便,不少的庫也是使用$符號。爲了不名稱衝突,jQuery提供了noConflict()方法來解決這個問題。調用該方法能夠把對$標識符的控制權讓給其餘庫。javascript
通常模式:java
<script src="prototype.js"></script>//1.包含jQuery以外的庫(好比Prototype) <script src="jquery.js"></script>//2.包含jQuery庫取得對$的使用權 <script> jQuery.noConflict();//3.調用noConflict()方法,讓出$,把控制權讓給最早包含的庫 </script> <script src="myscript.js"></script>
讓出$控制權後,須要使用jQuery方法時,則不能用$來調用了,要用jQuery。或者經過定義新的名稱來代替$符號。jquery
var jq=jQuery.noConflict();
另外還有一個技巧,能夠再.ready()方法中使用$。它的回調函數能夠接收一個參數,這個參數爲jQuery對象自己,能夠從新命名jQuery爲$,這樣也是不會形成衝突的。函數
jQuery.(document).ready(function($){ //這裏能夠正常使用$ })
固然,簡寫方式也是能夠的spa
jQuery(function($){ //這裏能夠正常使用$ })