什么是jquery noConflict,为什么我们需要这个?

问题描述:

我看过一个包含jQuery.noConflict方法的jQuery代码。什么是jquery noConflict,为什么我们需要这个?

不知道它的目的,没有得到我们需要的原因。

我只明白它是与jquery插件相关的东西。

jQuery(和其他类似的框架)在$变量中存储jQuery对象的别名。编写代码时只是简单的速记。

如果你愿意,你可以写下你所有的代码,如jQuery('.selector');,而不是使用美元符号。无冲突模式允许您使用其他代码(通常是另一个框架),这些代码还将某些内容存储在美元符号变量中。

+0

这个$是困惑的。但他们如何识别这是哪个$ – cache 2010-07-12 18:14:36

+1

当您使用noConflict时,您从美元符号中释放jQuery别名。因此,对于其他代码,只能使用以下语法:'jQuery('。whatever');'用于jQuery操作,并且可以将美元符号用于其他框架。 – Stephen 2010-07-12 18:26:00

+0

非常感谢你 – cache 2010-07-13 15:24:32

当jQuery,原型等页面上使用多个JavaScript库时,它尤其有用。在jQuery中,$字符在这些库中是特殊的。出于这个原因,jQuery.noConflict

参见:

Using jQuery with Other Libraries(官方文档)

更新:

一旦你使用jQuery.noConflict$的控制权移交给其他图书馆,而不是jQuery和在这种情况下, ,您将不得不使用jQuery而不是$

是原来写的jQuery插件时尤其有用

其他替代方法是这样的:

(function($){ 
// your code.... 
})(jQuery); 

在这种情况下,虽然,您可以使用$正常,即使其他库包含在页面上。

+0

好的,你能以一种简单的方式解释我的工作原理和使用方法 – cache 2010-07-12 18:10:57

+0

@cache:查看我答案中的链接。 – Sarfraz 2010-07-12 18:12:45

+0

困惑。但他们如何识别这个 – cache 2010-07-12 18:15:15