diff --git a/.babelrc b/.babelrc index e029d03db..a902b5717 100644 --- a/.babelrc +++ b/.babelrc @@ -11,7 +11,12 @@ "@babel/plugin-transform-property-mutators", "@babel/plugin-proposal-object-rest-spread", "@babel/plugin-proposal-class-properties", - "@babel/plugin-transform-classes" + [ + "@babel/plugin-transform-classes", + { + "loose": true + } + ] ], "presets": ["@babel/preset-env", "@babel/preset-flow"] } diff --git a/src/engines/html5/html5.js b/src/engines/html5/html5.js index 63fdf9d93..13dc4c650 100644 --- a/src/engines/html5/html5.js +++ b/src/engines/html5/html5.js @@ -282,13 +282,14 @@ export default class Html5 extends FakeEventTarget implements IEngine { */ attach(): void { Object.keys(Html5EventType).forEach(html5Event => { - this._eventManager.listen(this._el, Html5EventType[html5Event], () => { - if (Html5EventType[html5Event] === Html5EventType.ERROR) { - this._handleVideoError(); - } else { - this.dispatchEvent(new FakeEvent(Html5EventType[html5Event])); - } - }); + if (Html5EventType[html5Event] !== Html5EventType.ERROR) { + this._eventManager.listen(this._el, Html5EventType[html5Event], () => { + return this.dispatchEvent(new FakeEvent(Html5EventType[html5Event])); + }); + } + }); + this._eventManager.listen(this._el, Html5EventType.ERROR, () => { + this._handleVideoError(); }); this._handleMetadataTrackEvents(); let mediaSourceAdapter = this._mediaSourceAdapter;