diff --git a/src/scripts/inputManager.js b/src/scripts/inputManager.js index 915324cfc0b..43fa150750b 100644 --- a/src/scripts/inputManager.js +++ b/src/scripts/inputManager.js @@ -66,9 +66,12 @@ import appHost from 'apphost'; if (!sourceElement) { sourceElement = document.activeElement || window; - const dlg = document.querySelector('.dialogContainer .dialog.opened'); + const dialogs = document.querySelectorAll('.dialogContainer .dialog.opened'); - if (dlg && (!sourceElement || !dlg.contains(sourceElement))) { + // Suppose the top open dialog is active + const dlg = dialogs.length ? dialogs[dialogs.length - 1] : null; + + if (dlg && !dlg.contains(sourceElement)) { sourceElement = dlg; } }