diff --git a/scripts/system/html/js/entityProperties.js b/scripts/system/html/js/entityProperties.js index ee95312fa4..89ddd6f33e 100644 --- a/scripts/system/html/js/entityProperties.js +++ b/scripts/system/html/js/entityProperties.js @@ -3018,6 +3018,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"); @@ -3780,6 +3787,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) {