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

jQuery noConflict() 方法用法实例分析

程序员文章站 2022-07-06 17:54:30
本文实例讲述了jquery noconflict() 方法用法。分享给大家供大家参考,具体如下:jquery - noconflict() 方法如何在页面上同时使用 jquery 和其他框架?要解决这...

本文实例讲述了jquery noconflict() 方法用法。分享给大家供大家参考,具体如下:

jquery - noconflict() 方法

如何在页面上同时使用 jquery 和其他框架?

要解决这个问题,只需要使用jquery中的noconflict()方法,它允许你在同一个页面加载多个jquery实例,尤其是不同版本的jquery。

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 is still working!");
 });
});

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

实例

var jq = $.noconflict();
jq(document).ready(function(){
 jq("button").click(function(){
 jq("p").text("jquery is still working!");
 });
});

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

实例

$.noconflict();
jquery(document).ready(function($){
 $("button").click(function(){
 $("p").text("jquery is still working!");
 });
});

感兴趣的朋友可以使用在线html/css/javascript代码运行工具http://tools.jb51.net/code/htmljsrun测试上述代码运行效果。