31 lines
		
	
	
		
			639 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			639 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 'use strict';
 | |
| 
 | |
| var Event = require('./event');
 | |
| 
 | |
| var EventTarget = {
 | |
|   onopen:     null,
 | |
|   onmessage:  null,
 | |
|   onerror:    null,
 | |
|   onclose:    null,
 | |
| 
 | |
|   addEventListener: function(eventType, listener, useCapture) {
 | |
|     this.on(eventType, listener);
 | |
|   },
 | |
| 
 | |
|   removeEventListener: function(eventType, listener, useCapture) {
 | |
|     this.removeListener(eventType, listener);
 | |
|   },
 | |
| 
 | |
|   dispatchEvent: function(event) {
 | |
|     event.target = event.currentTarget = this;
 | |
|     event.eventPhase = Event.AT_TARGET;
 | |
| 
 | |
|     if (this['on' + event.type])
 | |
|       this['on' + event.type](event);
 | |
| 
 | |
|     this.emit(event.type, event);
 | |
|   }
 | |
| };
 | |
| 
 | |
| module.exports = EventTarget;
 |