Этот вопрос закрыт для ответов, так как повторяет вопрос Как используя addEventListener передать параметр в функцию?
@VloVer

Как передать аргумент, который передается в функцию в обработчик событий addeventlistener?

Как передать аргумент, который передается в функцию в обработчик событий addeventlistener?
Нужно передать аргумент total в addeventlistener и в него записывать btn.value
function getValue(trigger, total) {
      
      trigger.forEach(btn => {
         btn.addEventListener('click', (total) => {
            total = btn.value;
            totalSum.textContent = 'от ' + calcTypeValue * calcSmcValue * calcCalcValue * calcMoneyValue * 
            calcRegistrationValue * calcLogoValue * calcContentValue * calcPeriodValue + ' рублей';
            console.log(calcTypeValue);
            console.log(total);
         });
      });
   }

getValue(calcType, calcTypeValue);
   getValue(calcPeriod, calcPeriodValue);
   getValue(calcSmc, calcSmcValue);
   getValue(calcContent, calcContentValue);
   getValue(calcCalc, calcCalcValue);
   getValue(calcMoney, calcMoneyValue);
   getValue(calcLogo, calcLogoValue);
   getValue(calcRegistration, calcRegistrationValue);
  • Вопрос задан
  • 355 просмотров
Ответы на вопрос 2
hzzzzl
@hzzzzl
а что вообще происходит?
зачем КАЖДЫЙ РАЗ регистрировать новые евент листенеры на все триггеры (кнопки и слайдеры калькулятора?)

тем более будто бы total = btn.value; то есть total не передается извне, а его можно достать из кликнутой кнопки по значению
Ответ написан
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
Восполняем недостающие знания тут:
https://developer.mozilla.org/ru/docs/Web/JavaScri...
https://developer.mozilla.org/ru/docs/Web/API/Even...
и вопрос отпадет сам собой...

Ну и еще:
https://developer.mozilla.org/ru/docs/Web/JavaScri...
https://developer.mozilla.org/en-US/docs/Web/API/N...
понимаем, что это под капотом цикл:trigger.forEach(btn => {понимаем, что на каждой итерации этого цикла мы создаем по функции тут:(total) => {и ужасаемся, сколько процессорного времени и памяти мы сожрали в пустую
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы
23 нояб. 2024, в 01:31
1000 руб./за проект
23 нояб. 2024, в 00:16
2000 руб./за проект