<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答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
        主站蜘蛛池模板: 最近2019中文字幕免费看最新| 久久青草免费91线频观看不卡 | 无码免费又爽又高潮喷水的视频 | 亚洲成a人片在线播放| MM1313亚洲精品无码久久| 天天摸天天操免费播放小视频| 亚洲国产精品免费在线观看| 1000部国产成人免费视频| 亚洲国产欧美国产综合一区 | 国产99视频精品免费专区| 亚洲成AV人片在线观看无| 十八禁无码免费网站| 亚洲精品一区二区三区四区乱码| 69pao强力打造免费高清| 免费吃奶摸下激烈视频| 欧洲美女大片免费播放器视频| 亚洲第一区精品日韩在线播放| 一区二区三区免费视频网站| 18禁成年无码免费网站无遮挡| 亚洲精品国产日韩| 免费一级e一片在线播放| 国产人成网在线播放VA免费| 久久亚洲精品无码AV红樱桃| 日韩色日韩视频亚洲网站| 午夜亚洲av永久无码精品| 亚洲国产精品综合福利专区| 好男人看视频免费2019中文| 乱淫片免费影院观看| 久久亚洲成a人片| 最近免费中文字幕大全| 一级女性全黄久久生活片免费| 国产AV无码专区亚洲精品| 一二三四免费观看在线电影| 九九免费精品视频在这里| 亚洲AV日韩AV永久无码绿巨人| 最近中文字幕免费mv视频7| 一级毛片无遮挡免费全部| 亚洲综合久久1区2区3区| 欧洲精品免费一区二区三区| 两性色午夜免费视频| 亚洲五月综合缴情婷婷|