Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   JQuery прерывает работу JS скрипта (https://javascript.ru/forum/css-html/71158-jquery-preryvaet-rabotu-js-skripta.html)

Denis_Landar 30.10.2017 02:07

JQuery прерывает работу JS скрипта
 
Добрый вечер!
Есть страничка с калькулятором расчета стоимости, но когда подключен JQuery скрипт перестает работать, в чём дело??
const elMinus = document.querySelectorAll('span.minus');
								const elPlus = document.querySelectorAll('span.plus');
								const elTotal = document.querySelector('.order-end-form>input');
								document.querySelector('.order-table').onclick = function(event) {
									if (event.target.className === 'minus') {
        //console.log(event.target);
        //console.log(event.target.nextElementSibling);
        if (event.target.nextElementSibling.value <= 0) {
        	event.target.nextElementSibling.value = 0;
        } else {
        	let val = --event.target.nextElementSibling.value;
        	let price = parseInt(event.target.closest('.number').previousElementSibling.textContent);
        	let sum = val * price;
        	elTotal.value = +elTotal.value - price;
        	console.log(price);
        	console.log(sum);
        	console.log(elTotal.value);
        }
      }
      if (event.target.className === 'plus') {
        //console.log(event.target);
        //console.log(event.target.previousElementSibling);
        let val = ++event.target.previousElementSibling.value;
        let price = parseInt(event.target.closest('.number').previousElementSibling.textContent);
        let sum = val * price;
        elTotal.value = +elTotal.value + price;
        console.log(price);
        console.log(sum);
        console.log(elTotal.value);
      }
    }

Белый шум 30.10.2017 02:18

Смотрите консоль (F12), наверняка там ошибка какая-нибудь.

Denis_Landar 30.10.2017 02:34

Белый шум,
Я посмотрел нечего не нашёл:(
Можете вы посмотреть?
Вот ссылка: https://advanced.cn.ua/order

Белый шум 30.10.2017 05:44

В файле https://advanced.cn.ua/js/common.js
в конце ф-ий $('.minus').click(function () { ... }); и $('.plus').click(function () { ... });
стоит
return false;
-- вот эта строка и не даёт всплыть событию

Denis_Landar 30.10.2017 16:09

Белый шум,
Спасибо, помогло:)
Можно ещё вопросик, почему теперь в input при добавлении товара(на плюсик) добавляет две единицы, почему?
Источник тот же (https://advanced.cn.ua/order)

Белый шум 30.10.2017 16:16

Потому что два раза идёт прибавление - один раз в ф-ии из первого поста, второй - в тех ф-ях где было return false

Denis_Landar 30.10.2017 16:32

Белый шум,
Спасибо, что объяснили!


Часовой пояс GMT +3, время: 12:04.