欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

jQuery中 noConflict() 方法使用

程序员文章站 2022-08-05 09:25:05
jquery 和其他 javascript 框架 正如您已经了解到的,jquery 使用 $ 符号作为 jquery 的简写。 如果其他 javascript 框架也使用 $...

jquery 和其他 javascript 框架
正如您已经了解到的,jquery 使用 $ 符号作为 jquery 的简写。

如果其他 javascript 框架也使用 $ 符号作为简写怎么办?

其他一些 javascript 框架包括:mootools、backbone、sammy、cappuccino、knockout、javascript mvc、google web toolkit、google closure、ember、batman 以及 ext js。

其中某些框架也使用 $ 符号作为简写(就像 jquery),如果您在用的两种不同的框架正在使用相同的简写符号,有可能导致脚本停止运行。

jquery 的团队考虑到了这个问题,并实现了 noconflict() 方法。

jquery noconflict() 方法
noconflict() 方法会释放会 $ 标识符的控制,这样其他脚本就可以使用它了。

实例
当然,您仍然可以通过全名替代简写的方式来使用 jquery:

代码 代码如下:


$.noconflict();
jquery(document).ready(function(){
jquery("button").click(function(){
jquery("p").text("jquery 仍在运行!");
});
});


实例
您也可以创建自己的简写。noconflict() 可返回对 jquery 的引用,您可以把它存入变量,以供稍后使用。请看这个例子:

代码 代码如下:


var jq = $.noconflict();
jq(document).ready(function(){
jq("button").click(function(){
jq("p").text("jquery 仍在运行!");
});
});


实例
如果你的 jquery 代码块使用 $ 简写,并且您不愿意改变这个快捷方式,那么您可以把 $ 符号作为变量传递给 ready 方法。这样就可以在函数内使用 $ 符号了 - 而在函数外,依旧不得不使用 "jquery":

代码 代码如下:


$.noconflict();
jquery(document).ready(function($){
$("button").click(function(){
$("p").text("jquery 仍在运行!");
});
});