1. 程式人生 > >js裝飾者模式

js裝飾者模式

裝飾者模式:在不改變原物件的基礎上,通過對其進行包裝擴充套件(新增屬性或者方法)使原有物件可以滿足使用者的更復雜需求。

var decorator = function(input,fn){
	//獲取事件源
	var input = document.getElementById(input);
	//若事件源已經繫結事件
	if(typeof input.onclick === 'function'){
		//快取事件源原有回撥函式
		var oldClickFn = input.onclick;
		//為事件源定義新事件
		input.onclick = function(){
			//原有回撥函式
			oldClickFn();
			//新增回撥函式
			fn();
		}
	}else{
		//事件源未繫結事件,直接為事件源新增新增回撥函式
		input.onclick = fn;
	}
}
decorator('tel_input',function(){
    xxxx;
});