首頁  >  文章  >  web前端  >  如何實作jQuery無衝突模式

如何實作jQuery無衝突模式

清浅
清浅原創
2019-01-17 11:16:412796瀏覽

實作jQuery無衝突模式的方法:先開啟對應的jQuery程式碼檔案;然後透過noConflict方法將$識別碼的控制權傳回給其他JavaScript函式庫即可解決衝突。

如何實作jQuery無衝突模式

本文操作環境:windows7系統、jquery3.2.1版、Dell G3電腦。

當我們將jQuery程式碼與其他的JavaScript函式庫一起使用時,有可能就會發生衝突,例如你使用在jQuery中使用$符號,而恰巧遇到了另一個將$符號作為快捷方式的JavaScript庫,這時就有可能造成衝突。不過jQuery提供了一個特殊的方法來處理衝突的情況。接下來在文章中將為大家詳細介紹jQuery中解決衝突的方法,具有一定的參考價值,希望對大家有幫助。

解決衝突的方法:

在jQuery解決衝突的方法是noConflict()方法,這個方法將$標識符的控制權回傳給其他JavaScript庫

如以下範例中的jQuery程式碼將在將jQuery載入到頁面後立即將其置於無衝突模式,並指派新的變數名稱$j以取代$別名,以避免與原型框架衝突。詳細程式碼如下:

// 为jQuery定义新的名字
var $j = jQuery.noConflict();
$j(document).ready(function(){
    // 单击demo时弹出对话框
    $j("#demo").click(function(){
        alert("这是jQuery的新定义");
    });
});
 
//原型框架代码
document.observe("dom:loaded", function(){
    // 点击demo1显示弹出框
    $(demo1).observe('click', function(event){
        alert("原型与jQuery一起正常运行");
    });
});

效果圖如下:

如何實作jQuery無衝突模式

#但是,如果不想為jQuery定義另一個捷徑不想修改現有的jQuery程式碼或是覺得$在jQuery中節省了不少時間而且易於使用,那麼我們可以使用另一種方​​法來代替

我們可以將$作為參數傳遞給jQuery(document).ready()函數

// 为jQuery定义新的名字
jQuery.noConflict();
jQuery(document).ready(function($){
    // The dollar sign in here work as an alias to jQuery
    $("#demo").click(function(){
        alert("jQuery正在正常工作");
    });
});
 document.observe("dom:loaded", function(){
 $(demo1).observe('click', function(event){
        alert("jQuery与原型一起正常使用");
});
});

【推薦課程:##jQuery教學#】

效果圖:


如何實作jQuery無衝突模式

##注意:

避免衝突的上述解決方案依賴於在載入prototype.js之後載入jQuery。但是如果在其他函式庫之前包含jQuery,則可以在jQuery程式碼中使用全名,以避免衝突而不呼叫jQuery.noConflict()。但在這種情況下,$將具有在其他庫中定義的含義

總結:以上就是這篇文章的全部內容了,希望對大家有所幫助                  

以上是如何實作jQuery無衝突模式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn