什么是 jQuery.noConflict ?
在 Jquery 中, $符号只是JQuery的别名。这意味着$(“p”)和JQuery.(“p”),两者完全相同。我们可以使用任何一个。这个$符号被许多 Javascript 库用作函数名或变量名。在开发时,很明显我们将与 JQuery 一起使用许多库。任何其他库也可能使用$符号。在这种情况下,当两个框架使用相同的$符号时,一个框架可能会停止工作。
为了解决这个问题,JQuery 实现了noConflict()方法。 noConflict()方法返回$的控制权,以便其他框架/库可以使用它。
句法:
$.noConflict();
参数:它不接受任何参数。
返回值:它返回对 jQuery 的引用。
示例 1:显示 noConflicct() 方法工作的 jQuery 代码
HTML
para-1
para-2
para-3
para-4
para-5
HTML
para-1
para-2
para-3
para-4
para-5
HTML
para-1
para-2
para-3
para-4
para-5
HTML
para-1
para-2
para-3
para-4
para-5
输出:这里可以看到,在释放$符号的控制权后,我们不能再使用$符号了。这就是为什么当我们再次使用$ 符号调用 length 属性时会收到错误的原因。所以基本上,在调用noConflict()方法之后,我们必须使用jQuery而不是$符号。并且$符号将被其他库使用。
示例 2:
HTML
para-1
para-2
para-3
para-4
para-5
输出:好的,由于我们的代码中存在其他库,JQuery代码不能使用$符号,而且我们很懒,所以不想每一行都写jQuery。那么为什么不,为 jQuery 创建我们自己的别名。
5
为jQuery创建别名: noConflict()方法返回对jQuery 的引用,我们可以将其存储在变量中以备将来使用。
示例 3:
HTML
para-1
para-2
para-3
para-4
para-5
输出:
5
5
案例: Rohan 正在使用 jQuery 进行他的学校项目,他已经编写了大约 100 行 jQuery 代码。他即将完成他的项目,但随后他想为他的项目添加更多功能。所以他添加了一些同样使用 $ 符号的 javascript 库,所以他使用了 noConflict() 方法。但是当他添加noconflict()方法时,他意识到他必须用 jQuery 替换所有以前的 $ 符号。
不……我们不需要用 jQuery 更改每个 $ 符号。
使用$标识的函数里面:如果我们在使用$标识的函数,我们可以通过$符号作为参数传递给该函数。这将允许我们在该函数内使用 $ 符号,但我们仍然必须在该函数外使用 jQuery。
例子:
HTML
para-1
para-2
para-3
para-4
para-5
输出:
5