Задать вопрос
Cheizer
@Cheizer

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

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

  • Вопрос задан
  • 317 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик расширенный
    13 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Решения вопроса 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;
}
Ответ написан
Ваш ответ на вопрос

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

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