在jQuery中使用$避免与其他库冲突的方法

在jQuery中使用$避免与其他库冲突的方法
在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库,但是编写块的方式可以屏蔽冲突。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部