項目表現層以前使用的是 Ext + Prototype的架構,後來發現jQuery更加強大,而且插件多,想整合jQuery。結果發現jquery的$("....")等與Prototype沖突
解決辦法:
先加載prototype,後加載jquery
jQuery.noConflict();
// Put all your jQuery code in your document ready area
jQuery(document).ready(function($){
// Do jQuery stuff using $
$("div").hide();
});
如上代碼,在執行jQuery代碼前:執行
jQuery.noConflict();
函數,運作這個函數将變量$的控制權讓渡給第一個實作它的那個庫。
這有助于確定jQuery不會與其他庫的$對象發生沖突。在運作這個函數後,就隻能使用jQuery變量通路jQuery對象。
例如,在要用到$("div a")的地方,就必須換成jQuery("div a")。
當然,也可以使用jQuery(document).ready(function($){
恢複使用别名$,然後建立并執行一個函數,
在這個函數的作用域中仍然将$作為jQuery的别名來使用。在這個函數中,原來的$對象是無效的。
這個函數對于大多數不依賴于其他庫的插件都十分有效。