首先我們應該知道,在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...