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

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

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

  • Вопрос задан
  • 325 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Fullstack-разработчик на JavaScript + ИИ
    11 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию + ИИ
    6 месяцев
    Далее
Решения вопроса 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;
}
Ответ написан
Ваш ответ на вопрос

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

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