我想继承EventTarget对象。

因此,我尝试了以下代码,这将导致错误“非法构造函数”。

class OwnClass extends EventTarget {
  constructor () {
    super();
  }
}
function eventHandler () {
  console.log( arguments );
}
let et = new OwnClass();
et.addEventListener( "Own Event", eventHandler );
et.dispatchEvent( new Event( "Own Event" ) );


因此,我目前使用以下代码。

class OwnClass extends Document {
  constructor () {
    super();
  }
}
function eventHandler () {
  console.log( arguments );
}
let et = new OwnClass();
et.addEventListener( "Own Event", eventHandler );
et.dispatchEvent( new Event( "Own Event" ) );


但这会导致毫无意义的内存使用。

有没有办法直接继承EventTarget?

最佳答案

也许回答有点迟了,但是现在您可以使用EventTarget类

https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/EventTarget

10-06 15:57