jquery提供了乙個noconfilict的api來解決衝突。
使用方法:
jquery.noconflict():執行這個函式將變數$的控制權讓渡給第乙個實現它的那個庫。
jquery.noconflict(true):將$和jquery的控制權都交還給原來的庫。
第一種:
jquery.noconflict();第二種:// do something with jquery
jquery("div p").hide();
// do something with another library's $()
$("content").style.display = 'none';
jquery.noconflict();
(function($) );
})(jquery);
// other code using $ as an alias to the other library
第三種:
jquery.noconflict()(function());第四種:// other code using $ as an alias to the other library
var j = jquery.noconflict();第五種:// do something with jquery
j("div p").hide();
// do something with another library's $()
$("content").style.display = 'none';
var dom = {};noconfilict的原始碼:dom.query = jquery.noconflict(true);
// do something with the new jquery
dom.query("div p").hide();
// do something with another library's $()
$("content").style.display = 'none';
// do something with another version of jquery
jquery("div > p").hide();
noconflict: function( deep )在jquery原始碼的最開頭定義了:if ( deep && window.jquery === jquery )
return jquery;
},
(function())();當deep為空的時候,「_$」覆蓋「window.$」,「$」的常規功能失效,但jquery還可以繼續使用。當有新的庫中重新定義「$」的時候,「jquery」繼續為jqquery的常規功能,而「$」就不是jquery中的了,它是屬於新的庫的常規功能;為了防止$和就jquery被覆蓋而進行儲存。
當deep不為空的時候,它將「_jquery」覆蓋「window.jquery」,這樣導致可能jquery外掛程式失效;另外方法返回的jquery,實際上沒有被覆蓋。通過它完全可以移到新的乙個命名空間,如dom.query = jquery.noconflict(true); dom.query("div p").hide();
jquery中,多js檔案解決命名衝突
有2個js檔案 test01.js function test function2 function str jquery test02.js function test function2 function str jquery 呼叫檔案test.html 由於test01.js和test02.j...
jquery學習一 解決jquery和其他庫的衝突
jquery用 作為自身的快捷方式 解決兩種情況的衝突 1 jquery庫在其他庫之後匯入,可以使用jquery 函式作為建立jquery物件的工廠。另外,也可以自定義乙個jquery的快捷方式 j jquery.noconflict var j jquery.noconflict 自定義jquer...
駝峰命名法和模態對話方塊
模態對話方塊 window.showmodaldialog url 向目標對話方塊傳的值 視窗特徵引數 開啟模態對話方塊 模態對話方塊必須關掉才能對後端操作。模組對話方塊和視窗的區別是永遠置頂。特徵引數 用分號隔開,畫素大小用px。dialogheight,dialogwidth,center,等 ...