You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript计算器退格键无法删除屏幕单个字符问题咨询

问题根因
  • 你代码中拿到的screen是标签对应的DOM实例对象,不是输入框内的展示文本,直接修改screen.length属于操作不存在的属性,完全不会生效
  • 输入框的内容存储在DOM对象的value属性中,退格逻辑需要针对value进行处理
修复方案

直接替换原JavaScript逻辑即可:

var screen = document.getElementById("screen");
var backspacebtn = document.getElementById("backspacebtn");
backspacebtn.onclick = () => {
  // slice(0, -1) 表示截取字符串从开头到倒数第一个字符之前的部分
  screen.value = screen.value.slice(0, -1);
}
可选优化

如果需要避免输入框为空时重复执行无意义操作,可以加长度判断:

backspacebtn.onclick = () => {
  const currentVal = screen.value;
  if (currentVal.length > 0) {
    screen.value = currentVal.slice(0, -1);
  }
}

内容的提问来源于stack exchange,提问作者Omar Mostafa Abubakr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 19:27:01