aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/dumbymap.mjs
diff options
context:
space:
mode:
Diffstat (limited to 'src/dumbymap.mjs')
-rw-r--r--src/dumbymap.mjs10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/dumbymap.mjs b/src/dumbymap.mjs
index 7e04501..b909fe0 100644
--- a/src/dumbymap.mjs
+++ b/src/dumbymap.mjs
@@ -461,7 +461,12 @@ export const generateMaps = (container, { delay, mapCallback }) => {
461 const menu = document.createElement('div') 461 const menu = document.createElement('div')
462 menu.className = 'menu' 462 menu.className = 'menu'
463 menu.style.display = 'none' 463 menu.style.display = 'none'
464 menu.onclick = () => (menu.style.display = 'none') 464 menu.onclick = (e) => {
465 const keepMenu = e.target.closest('.keep-menu') || e.target.classList.contains('.keep-menu')
466 if (keepMenu) return
467
468 menu.style.display = 'none'
469 }
465 container.appendChild(menu) 470 container.appendChild(menu)
466 471
467 // Menu Items 472 // Menu Items
@@ -505,6 +510,9 @@ export const generateMaps = (container, { delay, mapCallback }) => {
505 // Remove menu when click outside 510 // Remove menu when click outside
506 const actionOutsideMenu = e => { 511 const actionOutsideMenu = e => {
507 if (menu.style.display === 'none') return 512 if (menu.style.display === 'none') return
513 const keepMenu = e.target.closest('.keep-menu') || e.target.classList.contains('.keep-menu')
514 if (keepMenu) return
515
508 const rect = menu.getBoundingClientRect() 516 const rect = menu.getBoundingClientRect()
509 if ( 517 if (
510 e.clientX < rect.left || 518 e.clientX < rect.left ||