@DeniSidorenko

Как сделать запрет на повторный клик JS?

Привет, есть обычное меню которая открывается при клике на див и закрывается при клике на любое место веб документа, кроме при клике на его дочерние элементы и на него самого. ( скрипт ниже). Так же случается баг что я открываю его и нажимаю еще раз на кнопку открытия происходит конфликт ибо , при клике на ту кнопку он исчезает ибо клик за пределы его но потом снова появляется ибо та кнопка отвечает за его вызов.

Вызов
$('.click').on('click',function({
$('.block').show();
})

Скрываем
$(document).mouseup(function (e){ // событие клика по веб-документу
  var div = $(".block"); // тут указываем ID элемента
  if (div.data('loading')) return; // если загружается, ничего не делаем

  if (!div.is(e.target) // если клик был не по нашему блоку
      && div.has(e.target).length === 0) { // и не по его дочерним элементам
    div.hide("slide", {direction: "left"} , 1000);
  }
});
  • Вопрос задан
  • 417 просмотров
Пригласить эксперта
Ответы на вопрос 1
AlexMaxTM
@AlexMaxTM
А что по вашему должно происходить при повторном клике? Меню должно свернутся и больше не разворачиваться или вообще не возможно было бы нажать повторно?
Как правило на кнопку меню вешают не метод show, а метод trigger, который если элемент скрыт, то он его показывает, если он отображается, то его скрывают.
Ответ написан
Ваш ответ на вопрос

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

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