Итак, у меня есть classList.toggle, который просто открывает и закрывает раскрывающееся меню, а второй переключатель меняет класс на стрелку (вверх и вниз).
Я хочу иметь возможность закрыть выпадающее меню, щелкнув за его пределами.
Мне удалось добиться этого либо для выпадающего меню, либо для стрелки. не оба сразу.
Как я могу щелкнуть вне выпадающего меню, когда оба события происходят одновременно?
Я должен сказать, что это метод W3s.
Все еще новичок в javascript, любая помощь будет оценена!
Спасибо,
Вот что у меня есть:
function dropdownsortby() {
document.getElementById("arrow").classList.toggle("down");
document.getElementById("hidedefault").classList.toggle("show");
}
window.onclick = function(event) {
if (!event.target.matches('.Sortby')) {
var arrow = document.getElementsByClassName("up");
var i;
for (i = 0; i < arrow.length; i++) {
var changearrow = arrow[i];
if (changearrow.classList.contains('down')) {
changearrow.classList.remove('down');
}
}
}
}
window.onclick = function(event) {
if (!event.target.matches('.Sortby')) {
var dropdowns = document.getElementsByClassName("sortbybuttons");
var i;
for (i = 0; i < dropdowns.length; i++) {
var openDropdown = dropdowns[i];
if (openDropdown.classList.contains('show')) {
openDropdown.classList.remove('show');
}
}
}
}