首页 > Web开发 > 详细

jQuery-noConflict()方法

时间:2015-11-20 21:44:49      阅读:240      评论:0      收藏:0      [点我收藏+]

noConflict()方法是解决如何同时在页面上使用jQuery和其它框架,

正如您所了解到的jQuery使用$符号作为jQuery的简写,如果其它的javascript框架也需要使用$符号作为简写怎么办呢?

其他一些 JavaScript 框架包括:MooTools、Backbone、Sammy、Cappuccino、Knockout、JavaScript MVC、Google Web Toolkit、Google Closure、Ember、Batman 以及 Ext JS。
其中某些框架也使用 $ 符号作为简写(就像 jQuery),如果您在用的两种不同的框架正在使用相同的简写符号,有可能导致脚本停止运行。
jQuery 的团队考虑到了这个问题,并实现了 noConflict() 方法。

 

noConflict() 方法的作用是释放对$符号的控制,这样其它的脚本就可以使用它了

当然,您仍然可以使用全名来代替$简写方式的jQuery

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<meta charset="utf-8" />
<script src="Css/jquery-2.1.4.js"></script>
</head>
<body>
<script>
$.noConflict();
jQuery(document).ready(function () {
jQuery("button").click(function () {
alert("Hello jQuery");
})
})
</script>
<button>click</button>
</body>
</html>

 

您也可以创建自己的简写,noConflict()可返回对jQuery的引用,把它存入到一个变量中,然后再使用,如:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<meta charset="utf-8" />
<script src="Css/jquery-2.1.4.js"></script>
</head>
<body>
<script>
var jq= $.noConflict();
jq(document).ready(function () {
jq("button").click(function () {
alert("Hello jQuery");
})
})
</script>
<button>click</button>
</body>
</html>

 

 

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

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<meta charset="utf-8" />
<script src="Css/jquery-2.1.4.js"></script>
</head>
<body>
<script>
$.noConflict();
jQuery(document).ready(function ($) {
$("button").click(function () {
alert("Hello jQuery");
})
})
</script>
<button>click</button>
</body>
</html>

 

jQuery-noConflict()方法

原文:http://www.cnblogs.com/melao2006/p/4982355.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!