jQuery - noConflict() 方法
如果您想在頁面上使用其他框架,但仍然使用 jQuery,該怎麼辦?
jQuery 和其他 JavaScript 框架
您已經知道; jQuery 使用 $
符號作為 jQuery 的快捷方式。
有很多流行的 JavaScript 框架,如:Angular、Backbone、Ember、Knockout 等等。
如果其他 JavaScript 框架也使用 $
符號作為快捷方式,該怎麼辦?
如果兩個不同的框架使用相同的快捷方式,其中一個可能會停止工作。
jQuery 團隊已經考慮到了這一點,並實現了 noConflict()
方法。
jQuery noConflict() 方法
noConflict()
方法釋放對 $
快捷方式識別符號的控制,以便其他指令碼可以使用它。
當然,您仍然可以使用 jQuery,只需寫出完整的名稱而不是快捷方式即可。
示例
$.noConflict();
jQuery(document).ready(function(){
jQuery("button").click(function(){
jQuery("p").text("jQuery 仍然在工作!");
});
});
自己動手試一試 »
您還可以輕鬆地建立自己的快捷方式。 noConflict()
方法返回對 jQuery 的引用,您可以將其儲存在變數中以備後用。下面是一個示例:
示例
var jq = $.noConflict();
jq(document).ready(function(){
jq("button").click(function(){
jq("p").text("jQuery 仍然在工作!");
});
});
自己動手試一試 »
如果您有一個使用 $
快捷方式的 jQuery 程式碼塊,並且不想全部更改它,您可以將 $
符號作為引數傳遞給 ready 方法。這允許您在此函式內部使用 $
訪問 jQuery — 在函式外部,您必須使用 "jQuery"。
示例
$.noConflict();
jQuery(document).ready(function($){
$("button").click(function(){
$("p").text("jQuery 仍然在工作!");
});
});
自己動手試一試 »
jQuery 雜項參考
有關所有 jQuery 雜項方法的完整概述,請訪問我們的 jQuery 雜項參考。