@Worddoc
Frontend explorer

Почему onclick в jQuery срабатывает несколько раз вместо одного?

Вешаю на кнопку обработчик клика, но при нажатии на кнопку второй раз (закрытие меню), он вызывается еще раз. Причем кол-во повторных вызовов хаотично. Я могу два раза нажать и два раза дополнительно вызовется обработчик. Либо один раз дополнительно. Нет логики. Обработчик вешаю один раз при загрузке страницы. Как избежать повторных вызов?

menuActive() {
    $('.menu__wrapper__menu').on('click', function() {
      $(this).toggleClass('menu-active');
      $('.content-wrapper').toggleClass('move-right');
      $('aside.sidebar-menu').toggleClass('sidebar-menu-active');
      $('.menu__wrapper').toggleClass('menu-hover move-right');
      $('.lang__wrapper').toggleClass('menu-hover move-right');
    })
  }
  • Вопрос задан
  • 3599 просмотров
Пригласить эксперта
Ответы на вопрос 1
Jakim
@Jakim
Laravel - developer
В Вашем случае необходимо использовать конструкцию, которая вызывается через .one
$('.menu__wrapper__menu').one('click', function() {

Вот ссылка на официальный источник, и на рассмотренный пример Надеюсь этот вариант решения сможет Вам в будущем помочь.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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