眾所周知,在jQuery語(yǔ)法中,$符號(hào)是jQuery的簡(jiǎn)寫(xiě)方式。但在某些情況下,可能需要在同一個(gè)頁(yè)面引入其他javascript庫(kù)(比如Prototype)。因?yàn)?簡(jiǎn)短方便,很多的庫(kù)也是使用$符號(hào)。為了避免名稱(chēng)沖突,jQuery提供了noConflict()方法來(lái)解決這個(gè)問(wèn)題。調(diào)用該方法可以把對(duì)$標(biāo)識(shí)符的控制權(quán)讓給其他庫(kù)。
一般模式:
<script src="http://www.gimoo.net/t/1901/prototype.js"></script>//1.包含jQuery之外的庫(kù)(比如Prototype) <script src="http://www.gimoo.net/t/1901/jquery.js"></script>//2.包含jQuery庫(kù)取得對(duì)$的使用權(quán) <script> jQuery.noConflict();//3.調(diào)用noConflict()方法,讓出$,把控制權(quán)讓給最先包含的庫(kù) </script> <script src="http://www.gimoo.net/t/1901/myscript.js"></script>
讓出$控制權(quán)后,需要使用jQuery方法時(shí),則不能用$來(lái)調(diào)用了,要用jQuery。或者通過(guò)定義新的名稱(chēng)來(lái)代替$符號(hào)。
var jq=jQuery.noConflict();
另外還有一個(gè)技巧,可以再.ready()方法中使用$。它的回調(diào)函數(shù)可以接收一個(gè)參數(shù),這個(gè)參數(shù)為jQuery對(duì)象本身,可以重新命名jQuery為$,這樣也是不會(huì)造成沖突的。
jQuery.(document).ready(function($){ //這里可以正常使用$ })
當(dāng)然,簡(jiǎn)寫(xiě)方式也是可以的
jQuery(function($){ //這里可以正常使用$ })
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家學(xué)習(xí)jquery避免沖突方法有所幫助。