1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
var CustomEvent = { events:{}, dispatchEvent:function(ev,data){ if(this.events[ev]){ var handlers=this.events[ev]; for(var i=0,l=handlers.length;i<l;++i){ try{ handlers[i](data); } catch(e){ } } } }, addEventListener:function(ev,handler){ if(!this.events[ev]){ this.events[ev]=[handler]; } else{ this.events[ev].push(handler); } }, removeEventListener:function(ev,handler){ if(this.events[ev]){ var handlers=this.events[ev]; for(var i=0,l=handlers.length;i<l;++i){ if(handlers[i]==handler){ handlers.splice(i); break; } } } } |