jQuery noConflict 方法

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