避免jQuery名字衝突--noConflict()方法

衆所周知,在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($){
   //這裏能夠正常使用$ 
})
相關文章
相關標籤/搜索