如(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)發