最新的Web開發教程
 

jQuery - noConflict() Method


如果你想在網頁上使用其他框架,而仍然使用jQuery?


jQuery和其他JavaScript框架

正如你已經知道了; jQuery的使用$符號作為jQuery的快捷方式。

還有許多其他流行的JavaScript框架,如: Angular, Backbone, Ember, Knockout ,等等。

如果其他JavaScript框架也使用$符號作為快捷方式?

如果兩個不同的框架是使用相同的快捷方式,其中一人可能會停止工作。

jQuery團隊已經想到這個問題,並實施了noConflict()方法。


jQuery的noConflict()方法

noConflict()方法釋放在保持$快捷標識,讓其他的腳本可以使用它。

當然你也可以仍然使用jQuery,只需通過寫全名,而不是快捷方式:

$.noConflict();
jQuery(document).ready(function(){
    jQuery("button").click(function(){
        jQuery("p").text("jQuery is still working!");
    });
});
試一試»

您也可以很輕鬆地創建自己的快捷方式。 在noConflict()方法返回的jQuery的參考,你可以在一個變量保存,以備後用。 下面是一個例子:

var jq = $.noConflict();
jq(document).ready(function(){
    jq("button").click(function(){
        jq("p").text("jQuery is still working!");
    });
});
試一試»

如果您有使用jQuery的代碼塊$快捷方式,你不希望改變這一切,你可以通過$註冊作為參數傳遞給準備方法。 這允許您使用jQuery訪問$ ,這裡面的功能-它之外,你將不得不使用“jQuery的”:

$.noConflict();
jQuery(document).ready(function($){
    $("button").click(function(){
        $("p").text("jQuery is still working!");
    });
});
試一試»

jQuery的其它參考

對於所有的jQuery其它方法的完整概述,請訪問我們的jQuery雜項參考