我有以下代码:
document.getElementById("decimal").addEventListener("click", () => {
if (!inputBox.value.includes(".")) {
inputBox.value += ".";
}
});
<body>
<div class="calculator">
<input type="number" id="inputBox" placeholder="0">
<div>
<button class="decimal" id="decimal">.</button>
</div>
</div>
<script src="script.js"></script>
</body>
当我向按钮添加事件监听器时,小数点应显示为输入字段中的最后一个字符。但是,由于它设置为 type="number",因此该函数会完全重置输入字段。
如何在不重置输入字段值的情况下添加小数?
我已经尝试将输入字段的类型更改为“文本”,但用户可以在输入字段中输入字母值,这是我不想要的。
为输入添加步骤属性
step=0.001
,然后使用value += '.0'
将其变为小数。
document.getElementById("decimal").addEventListener("click", () => {
if (!inputBox.value.includes(".")) {
inputBox.value += ".0";
}
});
<body>
<div class="calculator">
<input type="number" id="inputBox" placeholder="0" step="0.001">
<div>
<button class="decimal" id="decimal">.</button>
</div>
</div>
<script src="script.js"></script>
</body>