如何在頁面上(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)發