MooTools
a compact javascript framework
MooTools Core v1.4.5
Core
Browser
Slick
Mootools与jQuery冲突问题
当Mootools与jQuery同时使用时,"$"符会冲突(许多Javascript框架都会使用"$"符),遇到此问题有可以从两方法解决,一:jQuery放弃使用"$"符,详见jQuery.noConflict()方法,这里不再详细介绍。二:Mootools放弃使用"$"符,下面介绍下其安全"$"符模式。
在Mootools中"$"是document.id的简写形式,所以可以使用document.id代替"$"来解决冲突,使用文本编译器批量替换也就半分钟的事。你又无法(或不愿意)把"$"符手动替换为document.id,这时你就需要使用Javascript闭包来解决此问题。以下代码:
var X = new Class({
initialize: function(element){
this.element = $(element);
}
});
改成
(function(){
var $ = document.id;
this.X = new Class({
initialize: function(element){
this.element = $(element);
}
});
})();
以上代码把"$"符作用域封闭在了一匿名函数里,声明"$"时必须加var。var声明一局部变量,如果你想在闭包内声明全局变量"X",声明变量时不加var,将默认为全局变量,也可显式"this.X"或"window.X"。
注意:
虽然可以解决冲突的问题,但引用多个功能类似的框架是不推荐的,这将会对你项目的开发及维护带来很大的麻烦。
copyright ©2006-2014 Valerio Proietti , translate by Jobin Sun