ES6 Static Class расширяет EventTargetJavascript

Форум по Javascript
Anonymous
ES6 Static Class расширяет EventTarget

Сообщение Anonymous »

Я хочу создать класс, который расширяет eventTarget , позволяя addEventListener () и DispatchEvent () , чтобы вызвать его. Если страница случайно создана более одного, ее функциональность сломалась. По этой причине я реализовал всю логику этого класса в качестве статических позов и методов.

Код: Выделить всё

class MyClass extends EventTarget {
static dispatch(type) { MyClass.dispatchEvent(new Event(type)); }
}
MyClass.dispatch('hello');
< /code>
Uncaught TypeError: MyClass.dispatchEvent is not a function

Я также попробовал:

Код: Выделить всё

class MyClass extends EventTarget {
static dispatch(type) { MyClass.prototype.dispatchEvent(new Event(type)); }
}
MyClass.dispatch('hello');
< /code>
Uncaught TypeError: 'dispatchEvent' called on an object that does not implement interface EventTarget.

Должно быть что -то, что я могу сделать с конструкторами и прототипами, чтобы привлечь методы EventTarget непосредственно в MyClass . Может ли кто -нибудь просветить меня на то, как мне нужно продумать это? (Помимо неловкого взлома объявления статической переменной класса, содержащей событие, и пересылаю вещи в/из этого.)

Подробнее здесь: https://stackoverflow.com/questions/795 ... venttarget

Вернуться в «Javascript»