【发布时间】:2020-11-14 23:47:25
【问题描述】:
在我的 Javascript 计算器项目中,我试图阻止用户输入多个小数点(如果已经有一个小数点)(例如:5.2.3.56 不允许)。
用户点击的所有数字、小数和运算符按钮都被推送并存储在一个数组中。
如何检查是否已经存在点并使用值数组禁用按钮?
const numButtons = document.querySelectorAll('.number');
const opButtons = document.querySelectorAll('.operation');
const display = document.querySelector('.display');
const decimal = document.querySelector('.decimal');
let opClicked;
let resultArray = [];
// Event listeners
numButtons.forEach(number => {
number.addEventListener('click', function(e) {
numClicked = e.target.textContent;
if (display.textContent === '0') {
display.textContent = '';
} else if (resultArray[resultArray.length - 1] === opClicked){
display.textContent = '';
}
resultArray.push(numClicked);
display.textContent += numClicked
});
opButtons.forEach(operator => {
operator.addEventListener('click', function(e) {
empty();
opClicked = e.target.textContent;
resultArray.push(opClicked);
operate();
});
decimal.addEventListener('click', function(e) {
let decimalClicked = e.target.textContent;
resultArray.push(decimalClicked);
display.textContent += decimalClicked;
});
【问题讨论】:
标签: javascript arrays decimal calculator