diff options
author | Sam Potts <sam@potts.es> | 2020-04-24 00:22:17 +1000 |
---|---|---|
committer | Sam Potts <sam@potts.es> | 2020-04-24 00:22:17 +1000 |
commit | 2458eaa11b5c2805bcf1e5349ab900485bac325f (patch) | |
tree | 8c38683d043fdfbe8b1dcb385a446de4df7396a1 /src/js/listeners.js | |
parent | a97008aeebb19678e5183e7c934e60729857e11b (diff) | |
parent | dbe618c644a525b196466b7254274cc9bde76275 (diff) | |
download | plyr-2458eaa11b5c2805bcf1e5349ab900485bac325f.tar.lz plyr-2458eaa11b5c2805bcf1e5349ab900485bac325f.tar.xz plyr-2458eaa11b5c2805bcf1e5349ab900485bac325f.zip |
Merge branch 'develop' into css-variables
# Conflicts:
# src/js/captions.js
# src/js/config/defaults.js
# src/js/fullscreen.js
# src/js/listeners.js
# src/js/plyr.js
Diffstat (limited to 'src/js/listeners.js')
-rw-r--r-- | src/js/listeners.js | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/js/listeners.js b/src/js/listeners.js index dd2c4834..2cc71537 100644 --- a/src/js/listeners.js +++ b/src/js/listeners.js @@ -333,7 +333,6 @@ class Listeners { const resized = () => { clearTimeout(timers.resized); - timers.resized = setTimeout(setPlayerSize, 50); }; @@ -357,7 +356,7 @@ class Listeners { // Set Vimeo gutter setGutter(ratio, padding, isEnter); - // If not using the native browser fullscreen API, we need to check for resizes of viewport + // If not using native browser fullscreen API, we need to check for resizes of viewport if (!usingNative) { if (isEnter) { on.call(player, window, 'resize', resized); @@ -817,6 +816,17 @@ class Listeners { elements.controls.hover = !player.touch && event.type === 'mouseenter'; }); + // Also update controls.hover state for any non-player children of fullscreen element (as above) + if (elements.fullscreen) { + Array.from(elements.fullscreen.children) + .filter(c => !c.contains(elements.container)) + .forEach(child => { + this.bind(child, 'mouseenter mouseleave', event => { + elements.controls.hover = !player.touch && event.type === 'mouseenter'; + }); + }); + } + // Update controls.pressed state (used for ui.toggleControls to avoid hiding when interacting) this.bind(elements.controls, 'mousedown mouseup touchstart touchend touchcancel', event => { elements.controls.pressed = ['mousedown', 'touchstart'].includes(event.type); |