Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   После срабатывания функции добавить слушатель для другой (https://javascript.ru/forum/jquery/67081-posle-srabatyvaniya-funkcii-dobavit-slushatel-dlya-drugojj.html)

varde 27.01.2017 18:26

После срабатывания функции добавить слушатель для другой
 
Добрый вечер,

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

$("#menu")click(function() {
  $( "#menuska" ).show() 
 $('#menu').off('click');
  }); 
$(document)click(function() {
$( "#menuska" ).hide() 
  });


Как мне сделать, чтобы документ срабатывал, только когда меню показывается?

Большое спасибо.

рони 27.01.2017 18:38

varde,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
 .menuska {
  display: none;
}
.active{
  display: block;
}

  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {
    $(document).click(function(event) {
        var a = $(".menuska");
        $(event.target).is(".menu") ? a.toggleClass("active") :  a.removeClass("active")
    })
});
  </script>
</head>

<body>
<div class="menu">menu</div>
<div class="menuska">menuska</div>

</body>
</html>

varde 27.01.2017 20:05

Рони,
огромное спаибо!!!


Часовой пояс GMT +3, время: 11:30.