diff --git a/scripts/system/html/js/entityProperties.js b/scripts/system/html/js/entityProperties.js index 14a0031f1f..c1a8f363b5 100644 --- a/scripts/system/html/js/entityProperties.js +++ b/scripts/system/html/js/entityProperties.js @@ -3015,6 +3015,13 @@ function toggleDropdown(event) { element.setAttribute("dropped", isDropped !== "true" ? "true" : "false"); } +function closeAllDropdowns() { + elDropdowns = document.querySelectorAll("div.dropdown > dl"); + for (let i = 0; i < elDropdowns.length; ++i) { + elDropdowns[i].setAttribute('dropped', 'false'); + } +} + function setDropdownValue(event) { let dt = event.target.parentNode.parentNode.previousSibling; dt.value = event.target.getAttribute("value"); @@ -3777,6 +3784,8 @@ function loaded() { property.elInput = dt; dt.addEventListener('change', createEmitTextPropertyUpdateFunction(property)); } + + document.addEventListener('click', function(ev) { closeAllDropdowns() }, true); elDropdowns = document.getElementsByTagName("select"); while (elDropdowns.length > 0) {