I want all div
s with my-select-dropdown
and block
class
es to get unvisible at once when I click outside. Below code doesn't give me errors but makes div
s dissapear one by one in every click. But I want all disappear at once.
My code:
window.addEventListener("click", function (e) {
var dropdowns = document.getElementsByClassName("my-select-dropdown block");
console.log(dropdowns.length)
for (var i = 0; i < dropdowns.length; i++) {
console.log(dropdowns[i])
if (e.target.closest('.my-select > button')){
// pass
}
else if (e.target !== dropdowns[i] && !e.target.closest(dropdowns[i].classList)){
dropdowns[i].classList.replace("block", "hidden");
}
}
});
Console log
returns 2 with only one HTML element
which means there's only first loop
which is being executed.