Страницы

Поиск по вопросам

понедельник, 1 октября 2018 г.

Как в javascript “закрывать” div при клике вне этого дива?

При клике по некоторому элементу управления на экране появляется div c текстом подсказок. У дива есть кнопка "закрыть". Но хочется, чтобы он закрывался не только по клику на кнопку, но и вне области этого div'a. Подскажите, как это реализовать?


Ответ

Вот красивое решение: $(document).mouseup(function (e) { var container = $("YOUR CONTAINER SELECTOR"); if (container.has(e.target).length === 0){ container.hide(); } }); что означает следующее - если клик был по области, которая НЕ является нашим div'ом или не содержится в нем, то скрыть блок. Это решает проблему, если клик был по элементу вложенному в блок (не по самому блоку). Элемент будет скрыт, только если клик по области ВНЕ div'a

Комментариев нет:

Отправить комментарий