javascript委托事件
function delegate(func){
this.arr = new Array(); // 回调函数数组
this.add = function(func){
this.arr[this.arr.length] = func;
};
this.run = function(){
for(var i=0;i<this.arr.length;i++){
var func = this.arr[i];
if(typeof func == "function"){
func(); // 遍历所有方法以及调用
}
}
}
this.add(func);
}
// 定义一个类,同样包括两个方法
function WriteToWeb(){
this.Write = function(){
alert("委托调用了一个类实例方法。");
};
}
WriteToWeb.StaticWrite = function(){
alert("委托调用了一个静态方法。");
};
// 新建一个委托
var WriteMessage = new delegate(WriteToWeb.StaticWrite);
// 新建一个WriteToWeb实例
var w = new WriteToWeb();
// 添加委托组成委托链
WriteMessage.add(w.Write);
// 执行委托链上所有的回调函数
WriteMessage.run();
this.arr = new Array(); // 回调函数数组
this.add = function(func){
this.arr[this.arr.length] = func;
};
this.run = function(){
for(var i=0;i<this.arr.length;i++){
var func = this.arr[i];
if(typeof func == "function"){
func(); // 遍历所有方法以及调用
}
}
}
this.add(func);
}
// 定义一个类,同样包括两个方法
function WriteToWeb(){
this.Write = function(){
alert("委托调用了一个类实例方法。");
};
}
WriteToWeb.StaticWrite = function(){
alert("委托调用了一个静态方法。");
};
// 新建一个委托
var WriteMessage = new delegate(WriteToWeb.StaticWrite);
// 新建一个WriteToWeb实例
var w = new WriteToWeb();
// 添加委托组成委托链
WriteMessage.add(w.Write);
// 执行委托链上所有的回调函数
WriteMessage.run();