@b_efimenko

Как скрыть меню по нажатию на другую часть экрана?

9aebbcdea2854d0485a1c50ac3d83731.png
Как средствами js по нажатию на любую часть не меню (та что серая) само меню скрывалось?
  • Вопрос задан
  • 5271 просмотр
Пригласить эксперта
Ответы на вопрос 4
nanomen
@nanomen
front-end разработчик
Вот еще вариант.

Есть меню в любом месте документа

<ul id="menu">
	<li></li>
	...
</ul>


Проверяем событие по клику на body.

Если кликнули на любой элемент, который находится в меню, то ничего не делаем,
если кликаем в любое другое место, то закрываем меню.

$('body').on('click', function(event){

var  $menu = $('#menu'),
     $target = $(e.target);

//если кликнули в любом другом месте, вне меню - скрываем его
if (!$menu.find($target).length) $menu.hide();

});


Я чаще всего так делаю.
Ответ написан
Комментировать
Sanasol
@Sanasol Куратор тега JavaScript
нельзя просто так взять и загуглить ошибку
Ну если экран затемняется при открытии этого меню, то очень просто.

Грубо говоря
$('.gray_div').click(function(){
    $('.menu').hide();
});


Только идея, дальше уже сами исходя из своего контекста делайтею
Ответ написан
Комментировать
@bogomazov_vadim
Вероятно нужно что-то типа этого
Ответ написан
Комментировать
svd71
@svd71
использовать событие onmouseout при покидании меню.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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