我看過一個包含jQuery.noConflict方法的jQuery代碼。什麼是jquery noConflict,爲什麼我們需要這個?
不知道它的目的,沒有得到我們需要的原因。
我只明白它是與jquery插件相關的東西。
我看過一個包含jQuery.noConflict方法的jQuery代碼。什麼是jquery noConflict,爲什麼我們需要這個?
不知道它的目的,沒有得到我們需要的原因。
我只明白它是與jquery插件相關的東西。
jQuery(和其他類似的框架)在$
變量中存儲jQuery對象的別名。編寫代碼時只是簡單的速記。
如果你願意,你可以寫下你所有的代碼,如jQuery('.selector');
,而不是使用美元符號。無衝突模式允許您使用其他代碼(通常是另一個框架),這些代碼還將某些內容存儲在美元符號變量中。
當jQuery,原型等頁面上使用多個JavaScript庫時,它尤其有用。在jQuery中,$
字符在這些庫中是特殊的。出於這個原因,jQuery.noConflict
。
參見:
Using jQuery with Other Libraries(官方文檔)
更新:
一旦你使用jQuery.noConflict
的$
的控制權移交給其他圖書館,而不是jQuery和在這種情況下, ,您將不得不使用jQuery
而不是$
。
其他替代方法是這樣的:
(function($){
// your code....
})(jQuery);
在這種情況下,雖然,您可以使用$
正常,即使其他庫包含在頁面上。
這個$是困惑的。但他們如何識別這是哪個$ – cache 2010-07-12 18:14:36
當您使用noConflict時,您從美元符號中釋放jQuery別名。因此,對於其他代碼,只能使用以下語法:'jQuery('。whatever');'用於jQuery操作,並且可以將美元符號用於其他框架。 – Stephen 2010-07-12 18:26:00
非常感謝你 – cache 2010-07-13 15:24:32