【发布时间】:2021-02-27 15:44:47
【问题描述】:
我有两个按钮具有相同的类名和相同的功能,但必须添加不同的输入,所以我使用document.querySelectorAll() 和forEach() 方法来获取它们,但是现在当我单击一个时,另一个获取也点击了。有没有办法在两个按钮都没有两个addEventListener 的情况下防止这种情况发生?让它一次只点击一个按钮。
我的代码:
let inputElements = document.querySelectorAll('.inputElement');
const submitBtn = document.querySelectorAll('.submitBtn');
const backersElement = document.querySelector('.number-of-backers');
let donationsMade = [];
function calculateBamboo() {
inputElements.forEach(inputElement => {
const inputValue = parseFloat(inputElement.value);
if (inputValue < 25 || inputValue === '') return alert('Pledge must be at least $25.');
donationsMade.push(inputValue);
const donationsTotal = donationsMade.reduce((a, b) => a += b);
pledgedAmount.textContent = `$${donationsTotal}`;
backersElement.textContent = donationsMade.length;
return donationsTotal;
})
}
submitBtn.forEach(button => {
button.addEventListener('click', calculateBamboo);
})
【问题讨论】:
标签: javascript button foreach event-handling