Задать вопрос
@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);
  }
});
  • Вопрос задан
  • 443 просмотра
Подписаться 1 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
AlexMaxTM
@AlexMaxTM
А что по вашему должно происходить при повторном клике? Меню должно свернутся и больше не разворачиваться или вообще не возможно было бы нажать повторно?
Как правило на кнопку меню вешают не метод show, а метод trigger, который если элемент скрыт, то он его показывает, если он отображается, то его скрывают.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы