site: 사이트 팝업창 ESC 로 닫기 지원

- listEditor: keydown(Escape) 시 열린 .modalOverlay 닫기. 별칭 모달은
  "돌아가기" 와 동일하게 입력값을 저장한 뒤 닫는다.
- datapack: pickModal 도 ESC 로 닫히게 추가.

(팝업 바깥 영역 클릭으로 닫기는 두 페이지 모두 기존부터 동작 중.)
This commit is contained in:
2026-05-13 16:44:58 +09:00
parent de08f9a810
commit c0472bb57b
2 changed files with 20 additions and 0 deletions

View File

@@ -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()

View File

@@ -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')