diff --git a/src/core/data.ts b/src/core/data.ts index 31d6998..254ea3b 100644 --- a/src/core/data.ts +++ b/src/core/data.ts @@ -493,14 +493,6 @@ const danmakuStage = new EDC('div', 'danmakuStage') // ====================================================================== // -const mouseIdle = (P: Player) => { - clearTimeout(P.temp.mouseTimer); - P.setData('mouseIdle', false); - P.temp.mouseTimer = setTimeout(() => { - P.setData('mouseIdle', true); - }, 1e3); -}; - const hotkeys = (P: Player, T: KeyboardEvent) => { if (T.target === P.container) { switch (T.keyCode) { @@ -623,7 +615,6 @@ export const defaultPlayerMetadata = { .children(subtitleStage, danmakuStage), ], playerEvent: { - mousemove: mouseIdle, keydown: hotkeys, }, } as PlayerMetadata; diff --git a/src/core/player.ts b/src/core/player.ts index a43efb1..05c18e4 100644 --- a/src/core/player.ts +++ b/src/core/player.ts @@ -126,6 +126,14 @@ export default class Player { this.firePlayerEvent(fullscreen ? 'fullscreen' : 'fullscreenexit'); toggleClass(this.container, 'fullscreen', fullscreen); }); + this.onPlayerEvent('mousemove', () => { + clearTimeout(this.temp.mouseTimer); + this.setData('mouseIdle', false); + this.temp.mouseTimer = setTimeout(() => { + this.setData('mouseIdle', true); + this.firePlayerEvent('mouseidle'); + }, 1 * 1000); + }); new ResizeObserver(() => { this.video.dispatchEvent( new CustomEvent('resize', {