学习jQuery中的noConflict()用法

noConflict()

jQuery使用$符号,作为jQuery的简写

JavaScript框架包括:MooTools、Backbone、Sammy、Cappuccino、Knockout、JavaScriptMVC、GoogleWebToolkit、GoogleClosure、Ember、Batman以及ExtJS等等

其中一些框架也使用$符号作为简写

如果,用的两种不同的框架,使用相同的简写符号,可能导致脚本停止运行

为此,jQuery提供了noConflict()方法

释放标识符

会释放对$标识符的控制

这样,其他脚本就可以使用了

$.noConflict();

全名代替

使用jQuery全名,代替简写$

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 仍然在工作!");
 });
});

参数传递

可以把$符号作为变量,传递给ready方法

这样,可以在函数内使用$符号,在函数外,不能使用$

$.noConflict();
jQuery(document).ready(function($){
 $("button").click(function(){
  $("p").text("jQuery 仍然在工作!");
 });
});

相关推荐