做自(zì)由與創造的先行者

jQuery noConflict() 方法

jQuery中文(wén)手冊

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

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

正如您已經了(le)解到(dào)的,jQuery 使用(yòng) $ 符号作(zuò)爲 jQuery 的簡寫。

如果其他(tā) JavaScript 框架也(yě)使用(yòng) $ 符号作(zuò)爲簡寫怎麽辦?

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

其中某些(xiē)框架也(yě)使用(yòng) $ 符号作(zuò)爲簡寫(就像 jQuery),如果您在用(yòng)的兩種不同的框架正在使用(yòng)相同的簡寫符号,有可能(néng)導緻腳本停止運行。

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

jQuery noConflict() 方法

noConflict() 方法會(huì)釋放(fàng)會(huì) $ 标識符的控制,這(zhè)樣其他(tā)腳本就可以使用(yòng)它了(le)。

實例

當然,您仍然可以通過全名替代簡寫的方式來(lái)使用(yòng) jQuery:

$.noConflict();

jQuery(document).ready(function(){

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

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

});

});

實例

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

var jq = $.noConflict();

jq(document).ready(function(){

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

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

});

});

實例

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

$.noConflict();

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

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

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

});

});

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