jQuery.noConflict( [removeAll ] )返回值: 对象
描述: 放弃 jQuery 对 $
变量的控制。
-
添加版本: 1.0jQuery.noConflict( [removeAll ] )
-
removeAll类型: 布尔值一个布尔值,指示是否从全局作用域中删除所有 jQuery 变量(包括 jQuery 本身)。
-
许多 JavaScript 库使用 $
作为函数或变量名,就像 jQuery 一样。在 jQuery 的情况下,$
只是 jQuery
的别名,因此所有功能都可以在不使用 $
的情况下使用。如果您需要与 jQuery 一起使用另一个 JavaScript 库,请使用 $.noConflict()
将 $
的控制权交回另一个库。在 jQuery 初始化期间会保存 $
的旧引用;noConflict()
只是将它们恢复。
如果由于某种原因加载了两个版本的 jQuery(不建议这样做),则从第二个版本调用 $.noConflict( true )
将使全局作用域的 jQuery 变量恢复到第一个版本的变量。
1
2
3
4
5
6
|
|
这种技术与 .ready()
方法的别名 jQuery 对象的能力特别有效,因为在传递给 .ready()
的回调中,您可以根据需要使用 $
,而无需担心以后发生冲突。
1
2
3
4
5
6
7
8
9
|
|
如果需要,您也可以通过将 true
作为参数传递给该方法来释放 jQuery
名称。这很少需要,如果您必须这样做(例如,如果您需要在同一页面上使用多个版本的 jQuery 库),您需要考虑大多数插件依赖于 jQuery
变量的存在,并且在这种情况下可能无法正常运行。
示例
将 $ 引用到的原始对象映射回 $。
1
2
3
4
5
|
|
还原 $ 别名,然后创建一个函数并执行它,以在函数的作用域内提供 $ 作为 jQuery 别名。在函数内部,原始 $ 对象不可用。这对于大多数不依赖于任何其他库的插件来说效果很好。
1
2
3
4
5
6
7
8
|
|
创建一个不同的别名而不是 jQuery,在脚本的其余部分使用。
1
2
3
4
5
6
7
|
|
将 jQuery 完全移动到另一个对象中的新命名空间。
1
2
|
|
结果
1
2
3
4
5
6
7
8
|
|
加载两个版本的 jQuery(不推荐)。然后,将 jQuery 的全局作用域变量恢复到第一个加载的 jQuery。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
|