jQuery 使用 $ 符号作为 jQuery 的快捷方式。
还有许多其他流行的 JavaScript 框架,例如:Angular、Backbone、Ember、Knockout 等。
许多这些库也使用 $ 作为函数或者变量名。
如果两个不同的框架使用相同的快捷方式,其中一个可能会停止工作。
jQuery noConflict 如何工作?
在 jQuery 的情况下,$ 只是 jQuery 的别名,因此所有功能都可用而无需使用 $。
如果我们需要与 jQuery 一起使用另一个 JavaScript 库,请通过调用 $.noConflict()
将 $ 的控制权返回给另一个库。
noConflict()
方法释放对 $ 快捷方式标识符的保留,以便其他脚本可以使用它。
<script> $.noConflict(); jQuery( document ).ready(function( $ ) { // 下面的代码将使用jQuery$ }); // 在这里的代码使用其他库的$ </script>
我们还可以非常轻松地创建自己的快捷方式。
noConflict() 方法返回对 jQuery 的引用,我们可以将其保存在变量中,以备后用。
下面是一个例子:
<script> var jq = $.noConflict(); jq(document).ready(function(){ jq("button").click(function(){ jq("p").text("jQuery is still working!"); }); }); </script>
jQuery 冲突修复:
如果 jQuery 不起作用,请采取以下步骤:
- jQuery 库文件不存在或者不存在。
- 包含 jQuery 时文件路径不正确
- 不要加载两个不同的 javascript 库版本,只需要一个。
- 脚本加载顺序 & 在其他库之前包含 jQuery
- Javascript 库问题和将 jQuery 置于无冲突模式
- 浏览器禁用/不支持Javascript
日期:2020-09-17 00:10:36 来源:oir作者:oir