• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    如何解決jQuery和其他庫的沖突問題

    來源:懂視網 責編:小采 時間:2020-11-27 19:58:30
    文檔

    如何解決jQuery和其他庫的沖突問題

    如何解決jQuery和其他庫的沖突問題:在jQuery庫中,幾乎所有的插件都被限制在它的命名空間里。通常,全局對象都被很好地儲存在jQuery的命名空間里,所以當把jQuery庫和其他js庫(Prototype,MooTools或YUI)一起使用時,不會引起沖突。注意:默認情況下jQuery用$作為自身的快捷方式。
    推薦度:
    導讀如何解決jQuery和其他庫的沖突問題:在jQuery庫中,幾乎所有的插件都被限制在它的命名空間里。通常,全局對象都被很好地儲存在jQuery的命名空間里,所以當把jQuery庫和其他js庫(Prototype,MooTools或YUI)一起使用時,不會引起沖突。注意:默認情況下jQuery用$作為自身的快捷方式。

    在jQuery庫中,幾乎所有的插件都被限制在它的命名空間里。通常,全局對象都被很好地儲存在jQuery的命名空間里,所以當把jQuery庫和其他js庫(Prototype,MooTools或YUI)一起使用時,不會引起沖突。

    注意:默認情況下jQuery用“$”作為自身的快捷方式。

    當我們使用的其他JavaScript庫也是以"$"作為快捷方式時,這個時候如何解決jQuery和其他庫的沖突呢?

    1、jQuery庫在其他庫之后導入

    (1)使用"jQuery"全名代替"$"

    在其他庫和jQuery庫都被加載完畢后,可以在任何時候調用jQuery.noConflict()函數將變量$的控制權移交給其他JavaScript庫。

    示例:

    //...省略其他代碼
    <p id="pp">Text-prototype(將被隱藏)</p>
    <p>Text-jQuery(將被綁定單擊事件)</p>
    <!-- 引入prototype -->
    <script src="lib/prototype.js" type="text/javascript"></script>
    <!-- 引入jQuery -->
    <script src="../../scripts/jquery.js" type="text/javascript"></script>
    <script>
     jQuery.noConflict(); //將變量$的控制權讓渡給prototype.js
     jQuery(function(){ //使用jQuery
     jQuery("p").click(function(){
     alert( jQuery(this).text() );
     })
    })
    $("pp").style.display = 'none'; //使用prototype隱藏元素
    </script>

    然后就可以在程序里將jQuery()函數作為jQuery對象的制造工廠。

    (2)自定義快捷方式

    可以自定義備用名稱,例如jq,$j等等。示例:

    var $j = jQuery.noConflict(); //自定義一個快捷方式
    $j(function(){ //使用jQuery,利用自定義快捷方式——$j
     $j("p").click(function(){
     alert( $j(this).text() );
     })
    })
    $("pp").style.display = 'none'; //使用prototype.js隱藏元素

    (3)使用$而不與其他庫沖突

    如果不想給jQuery自定義這些備用名稱,還想使用$而不管其他庫的$()方法,同時又不想與其他庫沖突,可以使用以下兩種解決方法。

    其一:

    jQuery.noConflict(); //將變量$的控制權讓渡給prototype.js
    jQuery(function($){ //使用jQuery設定頁面加載時執行的函數
     $("p").click(function(){ //在函數內部繼續使用 $()方法
     alert( $(this).text() );
     })
    })
    $("pp").style.display = 'none'; //使用prototype

    其二:

    jQuery.noConflict(); //將變量$的控制權讓渡給prototype.js
    (function($){ //定義匿名函數并設置形參為$
     $(function(){ //匿名函數內部的$均為jQuery
     $("p").click(function(){ //繼續使用 $ 方法
     alert( $(this).text() );
     });
     });
    })(jQuery); //執行匿名函數且傳遞實參jQuery
    $("pp").style.display = 'none'; //使用prototype

    這是一種最理想的方式,可以通過改變最少的代碼來實現全面的兼容性。

    2、jQuery庫在其他庫之前導入

    如果jQuery庫在其他庫之前導入,那么$()的控制權默認歸屬于后面導入的JavaScript庫。可以直接使用“jQuery”來做一些工作。同時,可以使用$()方法作為其他庫的快捷方式。這里無需調用jQuery.noConflict()函數。示例:

    <!-- 先導入jQuery -->
    <script src="../../scripts/jquery.js" type="text/javascript"></script>
    <!-- 后導入prototype -->
    <script src="lib/prototype.js" type="text/javascript"></script>
    
    <p id="pp">Test-prototype(將被隱藏)</p>
    <p >Test-jQuery(將被綁定單擊事件)</p>
    
    <script>
    jQuery(function(){ //直接使用 jQuery ,無需調用"jQuery.noConflict()"函數
     jQuery("p").click(function(){ 
     alert( jQuery(this).text() );
     });
    });
    $("pp").style.display = 'none'; //使用prototype
    </script>

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    如何解決jQuery和其他庫的沖突問題

    如何解決jQuery和其他庫的沖突問題:在jQuery庫中,幾乎所有的插件都被限制在它的命名空間里。通常,全局對象都被很好地儲存在jQuery的命名空間里,所以當把jQuery庫和其他js庫(Prototype,MooTools或YUI)一起使用時,不會引起沖突。注意:默認情況下jQuery用$作為自身的快捷方式。
    推薦度:
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 欧美精品一区二区精品久久| 精品国产人成亚洲区| 97精品国产97久久久久久免费| 欲帝精品福利视频导航| 99熟女精品视频一区二区三区| 久久国产免费观看精品3| 欧美日韩在线精品一区二区三区激情综合| 亚洲国产精品久久久久婷婷老年| 精品国产a∨无码一区二区三区| 午夜成人精品福利网站在线观看 | 久久成人精品视频| 亚洲国产精品久久久久婷婷老年| 无码日韩人妻精品久久蜜桃| 久久精品国产精品亚洲艾草网美妙| 8050免费午夜一级国产精品| 国产成人精品久久二区二区| 精品一区二区三区在线成人| 亚洲精品国产av成拍色拍| 久久精品?ⅴ无码中文字幕| 99久久伊人精品综合观看| 午夜精品美女写真福利| 国产亚洲欧洲精品| 国产成人亚洲合集青青草原精品| 久久国产精品77777| 久久99国内精品自在现线| 伊人久久综合精品无码AV专区| 无码国产亚洲日韩国精品视频一区二区三区 | 欧美精品亚洲精品日韩专区va| 国产精品一级片| 国产精品视频免费| 久久免费国产精品一区二区| 欧美精品国产一区二区| 国产成人精品福利网站在线观看| 中文字幕精品视频| 国产精品午夜国产小视频| 亚洲爆乳精品无码一区二区| 久久精品国产一区二区三区| 精品无人区无码乱码毛片国产| 精品无码久久久久久久久久| 免费人成在线观看欧美精品| 亚欧无码精品无码有性视频|