jQuery中函數變量$衝突的解決辦法

        最近項目中,使用jQuery發現其中的函數變量$與其它JS框架衝突。google後發現一個解決辦法:

var jQuery=jQuery.noConflict();

       在使用 jQuery.noConflict();後,就只能使用jQuery變量訪問jQuery對象。例如,在要用到$("div p")的地方,就必須換成jQuery("div p") .

       在jQuery1.3.2中,解決函數變量“$”衝突問題,對JS類庫的引入順序沒有特殊要求。只要jQuery.noConflict(true);在jQuery的引入後執行即可。

 jQuery.noConflict()函數的源碼爲:

noConflict: function( deep ) {

window.$ = _$;

if ( deep )

window.jQuery = _jQuery;

return jQuery;

}

創建一個新的別名用以在接下來的庫中使用jQuery對象。

         jQuery 代碼:

                var j = jQuery.noConflict();

         // 基於 jQuery 的代碼

                j("div p").hide();

        // 基於其他庫的 $() 代碼

               $("content").style.display = 'none';

 jQuery.noConflict(true)則不僅可以防止$衝突,還可以防止jQuery這個關鍵詞衝突。

jQuery 代碼:

       var j = jQuery.noConflict(true);

// 基於 jQuery 的代碼

       j("div p").hide();

 // 基於其他庫的 $() 代碼

      $("content").style.display = 'none';

// 基於其他庫(或版本)的

jQuery() 代碼

     jQuery("#abc").html("這種情況很少見!");

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章