Cheizer
@Cheizer

Как закрывать блок при клике за его пределами?

Подскажите пожалуйста, как на jquery закрыть блок с подменю, при клике и тапе за его пределами?
Как открывать по клику на пункт сделал, но если проверяю на событие target при клике на документ, начинаются проблемы, перестает работать открывание по клику на пункте меню. Как правильно это реализовать? Как закрыть блок с подменю, при клике и тапе за его пределами?

  • Вопрос задан
  • 278 просмотров
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 1
profesor08
@profesor08 Куратор тега JavaScript
Используй :focus-within, если элемент все фокуса, то список скрывается.

Разметка +-
<div class="menu-item" tabindex="-1">
  <div class="menu-item-toggle">Menu item</div>
  <div class="menu-item-list">
    <div class="menu-item">sub item</div>
    <div class="menu-item">sub item</div>
    <div class="menu-item">sub item</div>
    <div class="menu-item">sub item</div>
  </div>
</div>


.menu-item:not(:focus-within) .menu-item-list {
  display: none;
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы