天天看點

Ext Prototype jQuery整合

項目表現層以前使用的是 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的别名來使用。在這個函數中,原來的$對象是無效的。

這個函數對于大多數不依賴于其他庫的插件都十分有效。

繼續閱讀