在jQuery,$是jQuery的一个别名,和所有的地方,使用$也可以
替换使用jQuery,比如$(' #味精)相当于jQuery(#味精)。然而,当我们将多个js库和另一个js库中定义的符号$,我们冲突时,我们使用$象征以下是
介绍两库
文件jquery.js和prototype.js为例例。
首先,介绍了后jquery.js prototype.js,如:
在这种
情况下,我们用以下代码编写我们自己的js代码:
$(#味精)隐藏();
始终代表着美元美元符号是定义在jQuery,它也可以用jQuery(#味精)。隐藏();如果我们想使用$定义在prototype.js,我们将介绍它。
案例二:jquery.js之前引入prototype.js,如:
在这种情况下,我们用以下代码编写我们自己的js代码:
$(#味精)隐藏();
在出席这次prototype.js定义的美元符号,如果我们想打电话jquery.js工厂选择
功能,我们只能用全名jQuery(#味精)隐藏()。
在第一个js库文件
顺序的第一个介绍下,如何
正确使用在不同js库中定义的$符号。
1。使用jquery.noconflict()
该
方法的
作用是让jQuery放弃所有权和收益美元美元prototype.js的
控制,因为jquery.js介绍之后,因此有权控制的最后一件事是jQuery,它的返回值是jQuery,我们称这个方法的代码时,我们不能使用jQuery美元的方法调用。当时,$表示美元Prototype.js库中定义如下:
(jQuery。任何); / /这里不能写为(#味精)。隐藏(),美元符号定义在prototype.js.jquey(' #味精)隐藏();
从此,美元是美元的定义和prototype.js美元,美元的jquery.js不能再次使用,仅以美元jquery.js美元全称jQuery。
在将jQuery
设置为无冲突
模式后,您可以设置一个别名为$:
如果您想继续使用jQuery的$,您需要将代码包含在自
执行函数中,这也是一些jQuery
插件作者的常见做法,因为这些作者不知道在项目中是否引用了其他库。
JQuery.noConflict();
(函数($){)
这里仍然可以继续使用jQuery
}(jQuery);
两。自定义jQuery的别名
如果我们认为,第一种方式是使用jquery.noconflict()方法,我们只可以使用jQuery的全名是比较麻烦的。我们可以重新定义jQuery的别名:
VaR(J = jQuery。任何);J(#味精)。隐藏(J); / /这里的jQuery的代表
此后,将是美元美元美元和定义prototype.js,美元jquey.js不能再次使用,只有使用$ J作为jQuery在jquey.js别名。
三。使用语句块,你仍然可以使用美元jquery.js定义在语句块,如下:
JQuery.noConflict();jQuery(document)。Ready(功能($){ $ { $(' #味精)隐藏();
此方法用于在$ $ }中的就绪事件中定义在jQuery中;
或使用下列语句块:
(函数($){ $…(#味精)。隐藏(); / /现在使用的这一块是指在jQuery JS。})(jQuery)
如果JS库文件的第二种情况介绍了如何使用jquery.js美元,我们仍然可以使用上面描述的方法块,如:
(函数($){)
的…
$(#味精)。隐藏(); / /现在使用的这一块是指在jquery.js。
}(jQuery)
代码
(函数($){……)$(#味精)隐藏();
这个块中使用的这个定义在jQuery(})(jQuery)中
这种使用语句块的方法非常有用。当我们编写jQuery插件时,我们应该使用这种方法,因为我们不知道如何在特定的
工作过程中引入各种js库,但是编写块的方式可以屏蔽冲突。