适配器模式:将一个类(对象)的接口(方法或者属性)转化成另外一个接口,以满足用户需求,使类(对象)之间的接口不兼容问题通过适配器得以解决。
更换框架
当前页面所使用的框架(A)不能支持更多特效,需要换另一个框架Jquery,这样需要将所有页面重新用Jquery重写一次吗?使用适配器模式不需要重写了。
两种情况。
第一种,如果A框架与Jquery相似的话,那么所做的事情就简单多了。
window.A = A = jQuery;
这样子就可以使用JQuery对象代替A对象了。
第二种情况:如果A框架与Jquery框架血缘远一点的话,那么需要做更多的事情了,重写A框架对应的位置。
//
var A = A || {};
A.g = function(id){
return document.getElementById(id)
}
//为元素绑定事件
A.on = function(id,type,fn){
//如果传递参数是字符串则以id处理,否则以元素对象处理
var dom = typeof id === 'string' ? this.g(id) :id;
//标准dom2级添加事件方式
if(dom.addEventListener){
dom.addEventListener(type,fn,false);
}//IE Dom2级添加是假
else if(dom.attachEvent){
dom.attacheEvent('on'+type,fn)
}else{
dom['on'+type] = fn;//简易添加事件方