jQuery.noConflict( [removeAll ] )返回类型:Object
描述:让出jQuery对$变量的控制。
-
增补版本:1.0jQuery.noConflict( [removeAll ] )
-
removeAll类型:Boolean一个布尔值,指示是否要从全局作用范围删除所有的jQuery变量(包括jQuery本身)。
-
很多JavaScript库使用$作为函数名称或变量名称,就像jQuery所做的那样。在jQuery中,$是jQuery的别名,所以即使不用$,它所有的功能依然可用。如果你需要使用其它JavaScript库伴同jQuery,利用对$.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
|
|
如有必要,你还可以放开jQuery名称,只要用true作为参数传给此方法。几乎不会有这种必要,而且如果你必须这样做的话(例如,如果你需要在同一个网页中使用多个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
|
|