diff --git a/public/listEditor.js b/public/listEditor.js index 44aee82..09fe40a 100644 --- a/public/listEditor.js +++ b/public/listEditor.js @@ -348,6 +348,19 @@ if (e.target === m) closeAllModals() }) }) + // ESC 로 열린 모달 닫기. 별칭 모달은 "돌아가기" 와 같은 저장 후 닫기 의미. + document.addEventListener('keydown', function (e) { + if (e.key !== 'Escape') return + var aliasOpen = aliasModal && !aliasModal.hidden + var anyOpen = document.querySelector('.modalOverlay:not([hidden])') + if (!anyOpen) return + e.preventDefault() + if (aliasOpen) { + closeAliasModalSaving() + return + } + closeAllModals() + }) document.getElementById('edit-music-save').addEventListener('click', function () { var url = document.getElementById('edit-music-url').value.trim() diff --git a/views/op/datapack.ejs b/views/op/datapack.ejs index 3162697..922233a 100644 --- a/views/op/datapack.ejs +++ b/views/op/datapack.ejs @@ -79,6 +79,13 @@ pickModal.addEventListener('click', function (e) { if (e.target === pickModal) pickModal.hidden = true }) + // ESC 로 닫기. + document.addEventListener('keydown', function (e) { + if (e.key === 'Escape' && !pickModal.hidden) { + pickModal.hidden = true + e.preventDefault() + } + }) document.querySelectorAll('#pickList .pickable').forEach(function (card) { card.addEventListener('click', function () { pickedKey = card.getAttribute('data-key')