创建扩展 CustomEvent 的自定义事件类

Create custom event class that extends CustomEvent

提问人:Nugzar Gaguliya 提问时间:10/17/2015 最后编辑:Brian Tompsett - 汤莱恩Nugzar Gaguliya 更新时间:12/12/2021 访问量:1824

问:

我正在尝试使用预定义的选项创建自己的类事件:

class TimeoutEvent extends CustomEvent {
    constructor() {
        super(...arguments);

        this.bubbles = true;
        this.cancelable = true;

        this.type = 'timeout';
    }
}

new TimeoutEvent();

但我得到一个例外:

未捕获的 TypeError:无法构造“CustomEvent”:请使用“new”运算符,此 DOM 对象构造函数不能作为函数调用。

我用 babel 5.8.23 (babel-core 5.8.25) 编译了它。

在编译的文件中,异常会像这样在线抛出:

 CustomEvent.apply(this, arguments);

我知道真正的方法是使用或新的, 但这是扩展默认 DOM 事件类的方法吗?document.createEvent('Event');CustomEvent()

javascript ecmascript-6 dom-events 扩展

评论

1赞 Bergi 10/17/2015
Babel 不支持内置的子类化。

答: 暂无答案