mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
Fix video OSD not hiding
Sometimes (maybe in some browsers) onHideAnimationComplete is called on btnPause, and the event listener is disconnecting because it was connected with "once: true". As a result, the `hide` class is not added to the OSD element, allowing the user to interact with transparent elements. Don't connect listener with "once: true".
This commit is contained in:
parent
d9c5440864
commit
cbedc384b3
1 changed files with 3 additions and 9 deletions
|
@ -323,18 +323,14 @@ export default function (view) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function clearHideAnimationEventListeners(elem) {
|
function clearHideAnimationEventListeners(elem) {
|
||||||
dom.removeEventListener(elem, transitionEndEventName, onHideAnimationComplete, {
|
elem.removeEventListener(transitionEndEventName, onHideAnimationComplete);
|
||||||
once: true
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function onHideAnimationComplete(e) {
|
function onHideAnimationComplete(e) {
|
||||||
const elem = e.target;
|
const elem = e.target;
|
||||||
if (elem != osdBottomElement) return;
|
if (elem != osdBottomElement) return;
|
||||||
elem.classList.add('hide');
|
elem.classList.add('hide');
|
||||||
dom.removeEventListener(elem, transitionEndEventName, onHideAnimationComplete, {
|
elem.removeEventListener(transitionEndEventName, onHideAnimationComplete);
|
||||||
once: true
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const _focus = debounce((focusElement) => focusManager.focus(focusElement), 50);
|
const _focus = debounce((focusElement) => focusManager.focus(focusElement), 50);
|
||||||
|
@ -364,9 +360,7 @@ export default function (view) {
|
||||||
clearHideAnimationEventListeners(elem);
|
clearHideAnimationEventListeners(elem);
|
||||||
elem.classList.add('videoOsdBottom-hidden');
|
elem.classList.add('videoOsdBottom-hidden');
|
||||||
|
|
||||||
dom.addEventListener(elem, transitionEndEventName, onHideAnimationComplete, {
|
elem.addEventListener(transitionEndEventName, onHideAnimationComplete);
|
||||||
once: true
|
|
||||||
});
|
|
||||||
currentVisibleMenu = null;
|
currentVisibleMenu = null;
|
||||||
toggleSubtitleSync('hide');
|
toggleSubtitleSync('hide');
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue