做(zuò)自(zì)由與創造的先行(xíng)者

jQuery noConflict() 方法

jQuery中文手冊

如(rú)何在頁面上(shàng)同時(shí)使用 jQuery 和(hé)其他(tā)框架?

jQuery 和(hé)其他(tā) JavaScript 框架

正如(rú)您已經了(le)解到的,jQuery 使用 $ 符号作(zuò)為(wèi) jQuery 的簡寫。

如(rú)果其他(tā) JavaScript 框架也使用 $ 符号作(zuò)為(wèi)簡寫怎麽辦?

其他(tā)一(yī)些 JavaScript 框架包括:MooTools、Backbone、Sammy、Cappuccino、Knockout、JavaScript MVC、Google Web Toolkit、Google Closure、Ember、Batman 以及 Ext JS。

其中某些框架也使用 $ 符号作(zuò)為(wèi)簡寫(就像 jQuery),如(rú)果您在用的兩種不同的框架正在使用相同的簡寫符号,有可(kě)能(néng)導緻腳本停止運行(xíng)。

jQuery 的團隊考慮到了(le)這(zhè)個問(wèn)題,并實現了(le) noConflict() 方法。

jQuery noConflict() 方法

noConflict() 方法會釋放會 $ 标識符的控制,這(zhè)樣其他(tā)腳本就可(kě)以使用它了(le)。

實例

當然,您仍然可(kě)以通(tōng)過全名替代簡寫的方式來使用 jQuery:

$.noConflict();

jQuery(document).ready(function(){

jQuery("button").click(function(){

jQuery("p").text("jQuery 仍在運行(xíng)!");

});

});

實例

您也可(kě)以創建自(zì)己的簡寫。noConflict() 可(kě)返回對 jQuery 的引用,您可(kě)以把它存入變量,以供稍後使用。請(qǐng)看(kàn)這(zhè)個例子:

var jq = $.noConflict();

jq(document).ready(function(){

jq("button").click(function(){

jq("p").text("jQuery 仍在運行(xíng)!");

});

});

實例

如(rú)果你的 jQuery 代碼塊使用 $ 簡寫,并且您不願意改變這(zhè)個快(kuài)捷方式,那(nà)麽您可(kě)以把 $ 符号作(zuò)為(wèi)變量傳遞給 ready 方法。這(zhè)樣就可(kě)以在函數(shù)內(nèi)使用 $ 符号了(le) - 而在函數(shù)外(wài),依舊(jiù)不得不使用 "jQuery":

$.noConflict();

jQuery(document).ready(function($){

$("button").click(function(){

$("p").text("jQuery 仍在運行(xíng)!");

});

});

網站建設開(kāi)發|APP設計開(kāi)發|小程序建設開(kāi)發
下(xià)一(yī)篇:jQuery 參考手冊 - 選擇器
上(shàng)一(yī)篇:jQuery AJAX get() 和(hé) post() 方法