Почему JS код выполняется повторно?

Ссылка скопирована
1 ответ

Банальный код увеличения/уменьшения количества товара при нажатии на кнопку изменяется на 2, а должен на величину 1.

$(document).ready(function() {   $('.up325').on('click',function(){     var num1 = $(this).parent().find('.qntc325').val();     var max1 =4;     if(num1 < max1){        $(this).parent().find('.qntc325').val(parseInt(num1)+1);     } });  $('.down325').on('click',function(){   var num1 = $(this).parent().find('.qntc325').val()-1;    if(num1 == 0) {     num1 = 1;   }   $(this).parent().find('.qntc325').val(parseInt(num1)); }); });

$(document).ready(function() { $('.up325').on('click',function(){ var num1 = $(this).parent().find('.qntc325').val(); var max1 =4; if(num1 < max1){ $(this).parent().find('.qntc325').val(parseInt(num1)+1); } }); $('.down325').on('click',function(){ var num1 = $(this).parent().find('.qntc325').val()-1; if(num1 == 0) { num1 = 1; } $(this).parent().find('.qntc325').val(parseInt(num1)); }); });

В режиме разработчика поставил точку остановки на коде и посмотрел ход выполнения. Сначала все происходит нормально, но когда тело функции $('.up325').on('click',function(){ выполнилось и значение стало +1 происходит странное, открывается вкладка VM85355 и код снова начинает повторяться, увеличивая дальше значение еще на +1

Дополнительно:

Нормально опиши проблему.
Человеческими словами.

  • Сергей delphinpro, переписал
  • Ответы:

    Проблема не в этом коде, очевидно:snippet
    Скорее всего ты просто подключаешь этот код два раза. Проищи внимательнее.

    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Анна SEO Ответ

    Проблема с повторным выполнением JavaScript кода может возникать из-за нескольких причин. Одной из основных причин может быть неправильное управление событиями и обработчиками событий.

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

    Для предотвращения повторного выполнения кода в JavaScript необходимо правильно управлять обработчиками событий. Убедитесь, что после выполнения функции обработчик события удаляется, если это необходимо. Например, можно использовать метод removeEventListener для удаления обработчика события после его выполнения.

    Вот пример кода на JavaScript, который иллюстрирует, как можно предотвратить повторное выполнение кода:

    function myFunction() {
      // Ваш код здесь
      console.log('Код выполняется только один раз');
     
      // Удаляем обработчик события после выполнения
      document.removeEventListener('click', myFunction);
    }
     
    document.addEventListener('click', myFunction);

    function myFunction() { // Ваш код здесь console.log('Код выполняется только один раз'); // Удаляем обработчик события после выполнения document.removeEventListener('click', myFunction); } document.addEventListener('click', myFunction);

    Таким образом, убедитесь, что вы правильно управляете обработчиками событий в вашем JavaScript коде, чтобы избежать повторного выполнения кода. Используйте методы добавления и удаления обработчиков событий, чтобы контролировать, когда и как код должен выполняться.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно