Возможно-ли выполнить определенную функцию если юзер произвел клик вне определенного блока?

Суть в том, что на сайте есть выезжающее меню и когда оно выезжает блюрится весь сайт.
Если закрыть меню повторным нажатием на кнопку меню - блюр пропадет и меню уедет, но, если при открытом меню кликнуть на заблюренную область - закроется меню и не пропадет блюр.
Возможно-ли проверять все клики и сравнивать айди элементов с айди кнопки открытия/закрытия меню?
  • Вопрос задан
  • 162 просмотра
Решения вопроса 2
teknik2008
@teknik2008
Расскажите про GOLANG. Мне интересно
Вот подобный пример когда-то отвечал
Ответ написан
ernesto77
@ernesto77
php, rb, py, js, webdev
очень примерно как то так (не проверял)
clickOutside(selector) => {
  return outsideClickListener = (event) => {
    if (!$(event.target).closest(selector).length) {
      // клик вне блока с селектором selector
    }
  }
}

  window.document.addEventListener('click', clickOutside('#target'))
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы