jQuery noConflict() 方法用法实例分析
本文实例讲述了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测试上述代码运行效果。