Widget:Dialog-js: Unterschied zwischen den Versionen
Aus ZUM-Unterrichten
KKeine Bearbeitungszusammenfassung |
KKeine Bearbeitungszusammenfassung |
||
Zeile 20: | Zeile 20: | ||
}; | }; | ||
if (document.readyState === "loading") { | if (document.readyState === "loading") { | ||
document.addEventListener("DOMContentLoaded", run); | document.addEventListener("DOMContentLoaded", run); | ||
} else { | } else { | ||
Zeile 31: | Zeile 30: | ||
document.querySelectorAll('dialog.zum-dialog').forEach((elem) => { | document.querySelectorAll('dialog.zum-dialog').forEach((elem) => { | ||
if(elem.dataset.dialogCloseonBackdropAdded === 'true') { return; } | if(elem.dataset.dialogCloseonBackdropAdded === 'true') { return; } | ||
elem.dataset.dialogCloseonBackdropAdded = 'true'; | elem.dataset.dialogCloseonBackdropAdded = 'true'; | ||
Zeile 38: | Zeile 35: | ||
elem.addEventListener('mousedown', (ev) => { | elem.addEventListener('mousedown', (ev) => { | ||
if(ev.target !== | if(ev.target !== elem){return true;} | ||
const rect = ev.target.getBoundingClientRect(); | const rect = ev.target.getBoundingClientRect(); | ||
if(ev.x < rect.left || ev.x > rect.right) { return true; } | if(ev.x < rect.left || ev.x > rect.right) { return true; } | ||
if(ev.y < rect.top || ev.y > rect.bottom) { return true; } | if(ev.y < rect.top || ev.y > rect.bottom) { return true; } | ||
ev.target.close(); | |||
}); | }); | ||
}); | }); |
Version vom 11. Februar 2024, 21:34 Uhr