什么是jquery noConflict,为什么我们需要这个?
问题描述:
我看过一个包含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