javascript - 从点击开始,数值一次只显示一个,这是为什么呢?
问题描述
我假设它是防止选择多个数字的 forEach 方法。但不确定还可以使用什么来显示它们。
<div class="container">
<div id="calculator" class="calc">
<input type="field" id="userinput" placeholder="0">
<button value= 7 class="numbers" id= "seven" >7</button>
<button value =8 class="numbers" id= "eight">8</button>
<button value =9 class="numbers"id= "nine">9</button>
<button value =* class="operator"id= "multiply">*</button>
<button value =4 class="numbers" id= "four">4</button>
<button value =5 class="numbers" id= "five">5</button>
<button value =6 class="numbers" id= "six">6</button>
<button value =- class="operator" id= "subtract">-</button>
<button value =1 class="numbers" id= "one">1</button>
<button value =2 class="numbers" id= "two">2</button>
<button value =3 class="numbers" id= "three">3</button>
<button value =+ class ="operator" id= "add">+</button>
<button value =/ class ="operator" id= "divide">/</button>
<button class="clear" value ="" id= "clr">C</button>
<button value = "" class="delete" id ="del">DEL</button>
<button value ="=" class = "equals" id= "equal">=</button>
</div>
</div>
javascript
let display = document.getElementById("userinput");
const numberButtons = document.querySelectorAll('.calc > .numbers');
numberButtons.forEach(btn => {
btn.onclick = function (btn) {
display.placeholder = btn.target.value;
}
})
解决方案
每次单击按钮时,您都会覆盖占位符。如果要显示多个,则应改为附加:
let display = document.getElementById("userinput");
const numberButtons = document.querySelectorAll('.calc > .numbers');
numberButtons.forEach(btn => {
btn.onclick = function(btn) {
display.placeholder += btn.target.value;
}
})
<div class="container">
<div id="calculator" class="calc">
<input type="field" id="userinput" placeholder="0">
<button value=7 class="numbers" id="seven">7</button>
<button value=8 class="numbers" id="eight">8</button>
<button value=9 class="numbers" id="nine">9</button>
<button value=* class="operator" id="multiply">*</button>
<button value=4 class="numbers" id="four">4</button>
<button value=5 class="numbers" id="five">5</button>
<button value=6 class="numbers" id="six">6</button>
<button value=- class="operator" id="subtract">-</button>
<button value=1 class="numbers" id="one">1</button>
<button value=2 class="numbers" id="two">2</button>
<button value=3 class="numbers" id="three">3</button>
<button value=+ class="operator" id="add">+</button>
<button value=/ class="operator" id="divide">/</button>
<button class="clear" value="" id="clr">C</button>
<button value="" class="delete" id="del">DEL</button>
<button value="=" class="equals" id="equal">=</button>
</div>
</div>
推荐阅读
- flutter - 如何检查文档是否存在于 Firestore 集合中?
- django - 为什么 pytest 在测试模型创建时会抛出“AttributeError:'NoneType'对象没有属性'_meta'”错误?
- fortran - 不同类型及其基类的重载
- networking - 编写健壮的应用层消息解析器
- python - 如何估计迭代时间并用 for 循环的 tqdm 显示?
- css - 如何删除 ComboBox 和 DatePicker JavaFX 上方的微弱灰线
- python - 如何删除熊猫中的UTC偏移量?
- java - 网络服务 java
- oracle - 如何将多个结果连接到oracle中的一列?
- c# - 如何使用按钮更改表单的背景颜色