标签:console var type span cti get function event log
//自定义事件 function defineEvent(){ this.handles={}; } defineEvent.prototype={ constructor:defineEvent, addHandler:function(type,handler){ if(typeof this.handles[type] === ‘undefined‘){ this.handles[type]=[]; } this.handles[type].push(handler); }, fire:function(event){ if(!event.target){ event.target=this; } if(this.handles[event.type] instanceof Array){ var hands=this.handles[event.type]; for(var i=0;i<hands.length;i++){ hands[i](event); } } }, removeHandler:function(type,handler){ if(this.handles[type] instanceof Array){ var hands=this.handles[type]; for(var i=0;i<hands.length;i++){ if(hands[i] === handler){ break; } } hands.splice(i,1); } } } function fn(event){ console.log("event:"+event.hit); } function fn2(event){ console.log("event:"+event.hit); } var tar=new defineEvent(); tar.addHandler("hit",fn); tar.addHandler("see",fn2); tar.fire({type:"hit",hit:"You Hit Me!"});//event:You Hit Me! tar.fire({type:"see",hit:"She See The Sight!"});//event:She See The Sight! tar.removeHandler("hit",fn); tar.fire({type:"hit",hit:"You Hit Me!"});//该事件已经移除 tar.fire({type:"see",hit:"She See The Sight!"});//event:She See The Sight!
标签:console var type span cti get function event log
原文地址:http://www.cnblogs.com/jefferyE/p/6252704.html