标签:
事件模型是观察者模式的一种类型
addHandler: function(type, handler){
if (typeof this.handlers[type] == “undefined”){ 判断时候存在这个事件类型,存在就把event加到对应类型的数组里this.handlers[type] = [];}this.handlers[type].push(handler);
},
fire: function(event){if (!event.target){event.target = this;}if (this.handlers[event.type] instanceof Array){ 查看对应事件类型的event handle,再一一调用这个handlevar handlers = this.handlers[event.type];for (var i=0, len=handlers.length; i < len; i++){handlers[i](event);}}},removeHandler: function(type, handler){if (this.handlers[type] instanceof Array){var handlers = this.handlers[type];for (var i=0, len=handlers.length; i < len; i++){if (handlers[i] === handler){break; 当找到需要删除的event handle就退出for循环,从事件回调数组中删除该event handle}}handlers.splice(i, 1);}}
标签:
原文地址:http://www.cnblogs.com/chuangweili/p/5166353.html