Хитрой является закрытие меню, когда я нажимаю. По разным вопросам, я получаю решение сделать следующее:
- Установка tabindex в контейнер меню. />
Я предполагаю, что onblur происходит первым, и что закрытие меню предотвращает увольнение кнопки. Если я отключу переключение класса, то кнопка уводит. Ничто не помогает. < /P>
Любые предложения о том, как я могу заставить кнопку для стрельбы, прежде чем меню закрывается?
Код: Выделить всё
let menu = document.querySelector('div#menu');
menu.setAttribute('tabindex',1);
let toggle = menu.querySelector('button#toggle');
toggle.onclick = event => {
toggle.classList.toggle('open');
menu.focus();
};
menu.querySelector('button#apple').onclick = event => {
console.log('apple');
};
menu.querySelector('button#banana').addEventListener('click', event => {
console.log('banana');
}, false);
menu.querySelector('button#cherry').addEventListener('click', event => {
console.log('cherry');
}, true);
// hide when clicked off
menu.onblur = event => {
console.log('byebye');
toggle.classList.toggle('open', false);
};< /code>
div#menu {
position: relative;
button#toggle+div {
position: absolute;
display: none;
flex-direction: column;
}
button#toggle.open+div {
display: flex;
}
}< /code>
Things
Apple
Banana
Cherry
Some stuff
Подробнее здесь: https://stackoverflow.com/questions/797 ... -be-hidden
Мобильная версия