Стреляя кнопкой, когда его контейнер будет скрытJavascript

Форум по Javascript
Ответить
Anonymous
 Стреляя кнопкой, когда его контейнер будет скрыт

Сообщение Anonymous »

Я строю простое меню с коллекцией кнопок. Первая кнопка переключает класс, который используется Show или скрыть следующий Div, полный большего количества кнопок. Эта часть работает. < /P>
Хитрой является закрытие меню, когда я нажимаю. По разным вопросам, я получаю решение сделать следующее:
  • Установка 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»