如何解決Jquery庫及其他庫之間的 命名衝突

2021-06-22 22:47:37 字數 1182 閱讀 6724

首先我們應該知道,在jquery中,$(美元符號)就是jquery的別名,也就是說使用$和使用jquery是一樣的,在很多時候我們命名空間時,正是因為這個$而產生的衝突的發生。比如說:$('#xmlas')和jquery('#xmlas') 雖然在寫法上不同,但在實際上卻是完全等同的。

要想解決這個衝突,其實最簡單的方法就是使用不同的名稱來命名,或者讓執行**認為是不同的命名空間即可。

一、 jquery庫在其他庫之前匯入,直接使用jquery(callback)方法如:

複製**

**如下:

test---prototype

test---jquery

二、jquery庫在其他庫之後匯入,使用jquery.noconflict()方法將變數$的控制權讓渡給其他庫,有以下幾種方式:

複製**

**如下:

**二複製**

**如下:

**三複製**

**如下:

**四複製**

**如下:

除了上面的方法之外,我們還可以採用第二種方法來解決衝突的問題,那就是最笨但最有效的解決方法:用自定義的命名空間來避免衝突。

比如說需要的專案名稱為xmlas,那麼我們原來的**:

複製**

**如下:

$('contentarea').show() 

就可以寫成以下這種形式:

複製**

**如下:

xmlas('contentarea').show() 

3.在jquery**中,當遇到衝突的時候我們可以使用$符號,這需要我們在ready事件中添上以下**:

複製**

**如下:

jquery(document).ready(function($) ); 

當然,您也可以簡寫成下面的形式:

複製**

**如下:

jquery(function($)); 

由此,根據第乙個方法來實現的完整**如下:

複製**

**如下:

//jquery庫與其他庫衝突的完整解決辦法 

當然,你也可以對上面的完整**進行一步的簡化,簡化**如下:

複製**

**如下:

//簡化後的** 

$.noconflict()(function()); 

//這裡是其他庫的** 

jQuery中如何解決多庫衝突問題

方法一 使用noconflict 捨棄 用jquery代替 jquery.noconflict 方法二 自定義變數 捨棄 新定義乙個 y變數來代替 var y jquery.noconflict 方法三 使用語句塊 在區域性裡面使用 jquery.noconflict jquery document...

解決jQuery和其他庫衝突

script console.log jquery在其他庫之前匯入,直接使用jquery 或 var replace jquery.noconflict 然後就可以用 jquery.noconflict jquery在其他庫之後匯入,同樣可以使用上面那種方法 如果不想使用自定義名稱又想繼續使用 可以...

解決jquery與其他庫的衝突

1 jquery庫在其他庫之後引用,如下所示 在common.js中有對 重新定義,如下 function id 下面是在jquery中解決衝突的 有四種方式 方式1 jquery.noconflict 將 控制權移交出去,以前使用 的地方都改用jquery jquery document read...