zhangjian
2023-08-07 6b009b0f6d3ef3aee97c362cebcd679d1b9088a3
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
'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;