最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

快速解決jQuery與其他庫沖突的方法介紹

 更新時間:2014年01月02日 09:11:28   作者:  
本篇文章主要是對快速解決jQuery與其他庫沖突的方法進行了詳細(xì)的介紹,需要的朋友可以過來參考下,希望對大家有所幫助

通常,當(dāng)在同一個頁面上使用jQuery和其他庫時,全局名稱$的定義是最大的爭論和沖突的焦點。眾所周知,jQuery使用$作為jQuery名稱的別名,并將其用于jQuery公開的每一個功能,但是其他庫,最著名的就是Prototype,也使用$名稱。

1. jQuery提供了$.noConflict()實用函數(shù)用來放棄對$標(biāo)識符的占用,以便其他庫使用它。

該函數(shù)的語法如下:
$.noConflict(jqueryToo)

將標(biāo)識符$的控制權(quán)歸還給其他庫,允許在頁面上混合使用jQuery與其他庫。一旦執(zhí)行了該函數(shù),必須使用jQuery標(biāo)識符而不是$標(biāo)識符來調(diào)用jQuery的功能,

你也可以放棄jQuery標(biāo)識符(可選)

應(yīng)該在包含了jQuery之后,但尚未包含沖突庫之前調(diào)用這個方法。


盡管使用的是jQuery標(biāo)識符,但因為$是jQuery的別名,所以在應(yīng)用$.noConflict()之后所有jQuery的功能依然可用。我們可以定義更短的,但沒有沖突的jQuery別名,例如

var  $j = jQuery ;

2. 另一個常見的習(xí)慣用法是創(chuàng)建一個作用域環(huán)境,在該環(huán)境中$標(biāo)識符指向jQuery對象,在擴展jQuery的時候這是個常用技巧,特別是對于插件作者來說,他們不可能對于頁面開發(fā)者是否已經(jīng)調(diào)用$.noConflict()作出任何假設(shè),當(dāng)然也不能自行調(diào)用此函數(shù)以免破壞頁面開發(fā)者的意愿,

這個習(xí)慣用法如下:
(function($) { }) (jQuery);
(function($) { })

這部分聲明了一個函數(shù)并用圓括號括起來,由此生成一個表達(dá)式,這個表達(dá)式的結(jié)果是對一個匿名函數(shù)的引用,這個函數(shù)期望傳入單個參數(shù)并將其命名為$,在函數(shù)主體中,可以通過$標(biāo)識符來引用任何傳遞給這個函數(shù)的東西。因為參數(shù)聲明優(yōu)先于全局作用域中任何類似的命名標(biāo)識符,所以任何在函數(shù)外定義的$值在函數(shù)內(nèi)都會被傳入的參數(shù)所代替。

(jQuery)

在匿名函數(shù)上執(zhí)行函數(shù)調(diào)用,將jQuery對象作為參數(shù)傳遞


在函數(shù)外部不管$標(biāo)識符是否已經(jīng)在Prototype或其他庫中定義,在函數(shù)體內(nèi)它總是指向jQuery對象。

當(dāng)使用這個技巧時,外部聲明的$在函數(shù)體內(nèi)是不可用的。

3. 第二種的用法的一個變體也經(jīng)常用于聲明就緒處理函數(shù),從而形成了第三種語法,
jQuery( function($){
})

當(dāng)編寫可重用的組件并且這些組件可能會用于已經(jīng)使用了$.noConflict()的頁面時,最好對$的定義采取這種預(yù)防措施。

相關(guān)文章

最新評論

隆尧县| 孝感市| 嘉义市| 多伦县| 威远县| 清水河县| 达拉特旗| 汾西县| 雷州市| 蓝田县| 乌苏市| 固原市| 北安市| 柳州市| 淮阳县| 高碑店市| 大城县| 墨脱县| 桓台县| 普洱| 丹凤县| 水城县| 桂平市| 汝南县| 开鲁县| 日喀则市| 平远县| 通化市| 湟中县| 高淳县| 都兰县| 呼伦贝尔市| 景宁| 兴仁县| 沭阳县| 简阳市| 安新县| 永定县| 明星| 苏尼特左旗| 同心县|