我的想法是用 vanila JS 编写一个计算器,但我遇到了一个问题。我想通过绑定键来解决它,并分别为它们中的每一个添加事件监听器。为了不重复我的代码,我想创建一个可以做所有事情的函数,我只添加一个键号作为参数。当我运行代码时,它会立即触发该函数,而无需单击 "number two" 。我知道,问题出在“点击”,getInput(二),我想让这个功能工作。有任何想法吗?
let input = document.getElementById("input").innerHTML;
const plus = document.querySelector(".plus");
const minus = document.querySelector(".minus");
const one = document.querySelector(".one");
const two = document.querySelector(".two");
const three = document.querySelector(".three");
const four = document.querySelector(".four");
const five = document.querySelector(".five");
const six = document.querySelector(".six");
const seven = document.querySelector(".seven");
const eight = document.querySelector(".eight");
const nine = document.querySelector(".nine");
const ac = document.querySelector(".ac");
function getInput(number){
console.log("i am here");
console.log(number.textContent);
if (input === 0){
input = number.textContent;
document.getElementById("input").innerHTML = input;
}
else{
input += number.textContent;
document.getElementById("input").innerHTML = input;
}
}
two.addEventListener("click",getInput(two));
ac.addEventListener("click",() =>{
input = 0;
console.log(input);
document.getElementById("input").innerHTML = input;
})
plus.addEventListener("click",() => {
console.log(plus.textContent);
input += plus.textContent;
document.getElementById("input").innerHTML= input;
});
one.addEventListener("click",()=>{
if (input === 0) {
input = one.textContent;
document.getElementById("input").innerHTML=input;
}
else {
input += one.textContent;
document.getElementById("input").innerHTML=input;
}
})
第二个问题,有没有更简单的方法通过不绑定每个键来检测用户的输入?(我是 JS 新手,这对我有很大帮助)
白衣非少年
相关分类