jQuery中使用$
这个符号作为jQuery的简写。虽然jQuery老仙法力无边,神功盖世;但是这世上还是存在其他一些很优秀的JS前端库,诸如:Angularjs、BackBone、Knockout、Ember等。
那么如果其他的JS前端库也使用$
这个符号作为简写呢?
两种不同的JS库都使用$
作为简写符号,那就很可能会引起冲突,从而可能会出现一些神Bug;因此,jQuery老仙为避免冲突而设计了一种方法,就是noConflict()方法。
noConflict()方法的使用方式如下,在开始处预先声明$.noConflict();
,之后就可以使用jQuery
来之前经常用到的$
。
案例1:用jQuery代替$
$.noConflict(); jQuery(document).ready(function(){ jQuery("button").click(function(){ jQuery("p").text("反清复明"); }); });
案例2:用自定义变量fanqingfu_ming来代替$
var fan_qing_fu_ming = $.noConflict(); fan_qing_fu_ming(document).ready(function(){ fan_qing_fu_ming("button").click(function(){ fan_qing_fu_ming("p").text("反清复明"); }); });
案例3:在方法内部依然保持使用$
$.noConflict(); jQuery(document).ready(function($){ $("button").click(function(){ $("p").text("反清复明"); }); });