首页 > 代码库 > 事件派发机制的实现
事件派发机制的实现
//事件派发机制的实现 var EventDispatcher = { addEventListener: function(eventType, handler){ //事件的存储 if(!this.eventMap){ this.eventMap = {} } //对每个事件,允许添加多个监听 if(!this.eventMap[eventType]){ this.eventMap[eventType] = [] } //把回调函数放入事件的执行数组 this.eventMap[eventType].push(handler) }, removeEventListener: function(eventType, handler){ for(var i = 0; i < this.eventMap[eventType].length; i ++){ if(this.eventMap[eventType][i] == handler){ this.eventMap[eventType].spile(i, 1) break } } }, dispatchEvent: function(event){ var eventType = event.type; if(this.eventType && this.eventMap[eventType]){ for(var i = 0; i < this.eventMap[eventType].length; i ++){ //把对当前事件添加的处理函数拿出来挨个执行 this.eventMap[eventType][i](event) } } } }
事件派发机制的实现
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。