Почему JS код выполняется повторно?
Банальный код увеличения/уменьшения количества товара при нажатии на кнопку изменяется на 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
Дополнительно:
Нормально опиши проблему.
Человеческими словами.
Ответы:
Проблема не в этом коде, очевидно:snippet
Скорее всего ты просто подключаешь этот код два раза. Проищи внимательнее.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Проблема с повторным выполнением JavaScript кода может возникать из-за нескольких причин. Одной из основных причин может быть неправильное управление событиями и обработчиками событий.
Если у вас есть обработчик события, который вызывает определенную функцию, и этот обработчик не удаляется после выполнения функции, то каждый раз, когда событие происходит, функция будет вызываться повторно.
Для предотвращения повторного выполнения кода в JavaScript необходимо правильно управлять обработчиками событий. Убедитесь, что после выполнения функции обработчик события удаляется, если это необходимо. Например, можно использовать метод removeEventListener для удаления обработчика события после его выполнения.
Вот пример кода на JavaScript, который иллюстрирует, как можно предотвратить повторное выполнение кода:
function myFunction() { // Ваш код здесь console.log('Код выполняется только один раз'); // Удаляем обработчик события после выполнения document.removeEventListener('click', myFunction); } document.addEventListener('click', myFunction);
Таким образом, убедитесь, что вы правильно управляете обработчиками событий в вашем JavaScript коде, чтобы избежать повторного выполнения кода. Используйте методы добавления и удаления обработчиков событий, чтобы контролировать, когда и как код должен выполняться.