jQuery 笔记 - noConflict() 方法

jQuery 使用 $ 符号作为 jQuery 的简写,如果其他 JavaScript 框架也使用 $ 符号作为简写怎么办?(其他一些 JavaScript 框架包括:MooTools、Backbone、Sammy、Cappuccino、Knockout、JavaScript MVC、Google Web Toolkit、Google Closure、Ember、Batman 以及 Ext JS)其中某些框架也使用 $ 符号作为简写,如果我们在用的两种不同的框架正在使用相同的简写符号,有可能导致脚本停止运行!

1.通过全名替代简写的方式来使用 jQuery

$.noConflict();
jQuery(document).ready(function(){
  jQuery("button").click(function(){
    jQuery("p").text("jQuery ok");
  });
});

2.创建自己的简写

//noConflict() 可返回对 jQuery 的引用,并把它存入变量
var wys = $.noConflict();
wys(document).ready(function(){
  wys("button").click(function(){
    wys("p").text("jQuery ok");
  });
});

3.在函数内使用 $ 符号,在函数外使用 "jQuery"

$.noConflict();
//把 $ 符号作为变量传递给 ready 方法
jQuery(document).ready(function($){
  $("button").click(function(){
    $("p").text("jQuery ok");
  });
});

推荐阅读更多精彩内容