溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

使用jquery時(shí)$符號(hào)沖突問(wèn)題解決方案

發(fā)布時(shí)間:2020-08-02 13:07:13 來(lái)源:網(wǎng)絡(luò) 閱讀:659 作者:fcl961561322 欄目:web開發(fā)

    當(dāng)一個(gè)項(xiàng)目引入多個(gè)第三方庫(kù)的時(shí)候,由于沒(méi)有命名空間的約束(命名空間就好比同一個(gè)目錄下的文件夾一樣,名字相同就會(huì)引發(fā)沖突),庫(kù)與庫(kù)之間的沖突在所難免。

    既然有沖突問(wèn)題存在,為什么還要應(yīng)用多個(gè)庫(kù)呢?是因?yàn)閖Query不過(guò)是一個(gè)DOM操作為主的庫(kù),方便我們?nèi)粘EB的開發(fā),但有時(shí)候我們的項(xiàng)目可能需要應(yīng)用其他的庫(kù)來(lái)解決一些特殊的問(wèn)題。例如UI庫(kù),游戲庫(kù)等等。

    例如prototype庫(kù)等等,或者自己定義的使用到了$符號(hào)的庫(kù),該如何解決呢?例如我們有一個(gè)自己開發(fā)的Base庫(kù),也是用到了$符號(hào),一般情況下有兩種解決方法

    1、將jQuery庫(kù)在Base庫(kù)之前引用,那么“$”的所有權(quán)就交給了Base庫(kù),而jQuery可以直接使用jQuery對(duì)象調(diào)用,或者創(chuàng)建一個(gè)"$$"給jQuery使用。

    

//假設(shè)我們的Base庫(kù)中有一個(gè)ge()方法
var $$ = jQuery;
$(function(){
    alert($("#box").ge(0));
    alert($$("#box").width());
})

    2、如果jQuery庫(kù)在Base庫(kù)之后引用,那么“$”所有權(quán)歸jQuery所有,而Base庫(kù)將會(huì)因?yàn)闆_突而失去作用,在這里jQuery提供了一個(gè)方法

jQuery.noConflict();  //自我摧毀,將$所有權(quán)剔除
var $$ = jQuery;
$(function(){
    alert($("#box").ge(0));
    alert($$("#box").width());
})


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI