Как я могу реорганизовать прослушиватели событий для моих элементов выбора и кнопок? - PullRequest
0 голосов
/ 08 марта 2020

Мне нужна помощь, пожалуйста, с использованием принципа DRY для рефакторинга этого кода. Как бы выглядела функция для этого?

let fruitPrice =[+QOne.value,+QTwo.value,+QThree.value,+QFour.value,+QFive.value];



QOne.addEventListener('change', e=>{
    fruitPrice=+e.target.value;

});

QTwo.addEventListener('change', e=>{
    fruitPrice=+e.target.value;
    console.log(fruitPrice);

});


это прослушиватели событий для кнопок

buyApple.addEventListener('click',e=>{
    // console.log(fruitPrice/2);
    const applesBought=fruitPrice/2;
    displayMsg.innerHTML=`<h2>You've bought ${applesBought} item</h2>`

    if (fruitPrice/2>1){
        displayMsg.innerHTML=`<h2>You've bought ${applesBought} items</h2>`
    }

    const price=document.getElementById('price');
    price.innerHTML=`<h2>Price:$${fruitPrice}</h2>`;


});

buyOrange.addEventListener('click',e=>{
    // console.log(fruitPrice/2);
    const orangesBought=fruitPrice/2;
    displayMsg.innerHTML=`<h2>You've bought ${orangesBought} item</h2>`

    if (fruitPrice/2>1){
        displayMsg.innerHTML=`<h2>You've bought ${orangesBought} items</h2>`
    }

    const price=document.getElementById('price');
    price.innerHTML=`<h2>Price:$${fruitPrice}</h2>`;


});

Функция, которую я пытался создать, не работает. Я набрал что-то вроде:

fruitPrice.forEach(function(entry){
    entry.addEventListener('change',e=>{
        console.log(e.target.value);
    })


})

...