mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
Fix click on pause button right after showOsd
This commit is contained in:
parent
e3dd871500
commit
4b5eb8e063
1 changed files with 37 additions and 1 deletions
|
@ -437,6 +437,11 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med
|
|||
});
|
||||
currentVisibleMenu = null;
|
||||
toggleSubtitleSync("hide");
|
||||
|
||||
// Firefox does not blur by itself
|
||||
if (document.activeElement) {
|
||||
document.activeElement.blur();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1087,7 +1092,15 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med
|
|||
*/
|
||||
var NavigationKeys = ["ArrowLeft", "ArrowRight", "ArrowUp", "ArrowDown"];
|
||||
|
||||
/**
|
||||
* Clicked element.
|
||||
* To skip 'click' handling on Firefox/Edge.
|
||||
*/
|
||||
var clickedElement;
|
||||
|
||||
function onWindowKeyDown(e) {
|
||||
clickedElement = e.srcElement;
|
||||
|
||||
var key = keyboardnavigation.getKeyName(e);
|
||||
|
||||
if (!currentVisibleMenu && 32 === e.keyCode) {
|
||||
|
@ -1159,6 +1172,14 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med
|
|||
}
|
||||
}
|
||||
|
||||
function onWindowMouseDown(e) {
|
||||
clickedElement = e.srcElement;
|
||||
}
|
||||
|
||||
function onWindowTouchStart(e) {
|
||||
clickedElement = e.srcElement;
|
||||
}
|
||||
|
||||
function getImgUrl(item, chapter, index, maxWidth, apiClient) {
|
||||
if (chapter.ImageTag) {
|
||||
return apiClient.getScaledImageUrl(item.Id, {
|
||||
|
@ -1289,6 +1310,12 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med
|
|||
dom.addEventListener(window, "keydown", onWindowKeyDown, {
|
||||
capture: true
|
||||
});
|
||||
dom.addEventListener(window, window.PointerEvent ? "pointerdown" : "mousedown", onWindowMouseDown, {
|
||||
passive: true
|
||||
});
|
||||
dom.addEventListener(window, "touchstart", onWindowTouchStart, {
|
||||
passive: true
|
||||
});
|
||||
} catch (e) {
|
||||
require(['appRouter'], function(appRouter) {
|
||||
appRouter.showDirect('/');
|
||||
|
@ -1303,6 +1330,12 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med
|
|||
dom.removeEventListener(window, "keydown", onWindowKeyDown, {
|
||||
capture: true
|
||||
});
|
||||
dom.removeEventListener(window, window.PointerEvent ? "pointerdown" : "mousedown", onWindowMouseDown, {
|
||||
passive: true
|
||||
});
|
||||
dom.removeEventListener(window, "touchstart", onWindowTouchStart, {
|
||||
passive: true
|
||||
});
|
||||
stopOsdHideTimer();
|
||||
headerElement.classList.remove("osdHeader");
|
||||
headerElement.classList.remove("osdHeader-hidden");
|
||||
|
@ -1472,7 +1505,10 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med
|
|||
playbackManager.previousTrack(currentPlayer);
|
||||
});
|
||||
view.querySelector(".btnPause").addEventListener("click", function () {
|
||||
// Ignore 'click' if another element was originally clicked (Firefox/Edge issue)
|
||||
if (this.contains(clickedElement)) {
|
||||
playbackManager.playPause(currentPlayer);
|
||||
}
|
||||
});
|
||||
view.querySelector(".btnNextTrack").addEventListener("click", function () {
|
||||
playbackManager.nextTrack(currentPlayer);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue