使用 JavaScript 在计算器上退格

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/30849912/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-28 12:47:45  来源:igfitidea点击:

Backspace on calculator using JavaScript

javascripthtml

提问by MrEhawk82

i am making a calculator. But i am having trouble making the backspace button. I found this: Delete last character from input, however I would like to stick with JavaScript only without jquery. Here is what I have so far...

我正在制作一个计算器。但是我在制作退格按钮时遇到了麻烦。我发现了这一点:从 input 中删除最后一个字符,但是我只想坚持使用 JavaScript 而不使用 jquery。这是我到目前为止所拥有的......

HTML

HTML

<div class="box">
<center><div class="display"><input type="text" size="18" id="d" readonly ></div></center>
<div class="keys"><center>
    <p><input type="button" class="button grey" value="%" onclick='c("not defined ")'><input type="button" class="button grey" value="&#8730;" onclick='c("not defined ")'><input type="button" class="button grey" value="&#8592;" onclick='back()'><input type="button" class="button grey" value="/" onclick='math("/")'></p>
    <p><input type="button" class="button black" value="7" onclick='math("7")'><input type="button" class="button black" value="8" onclick='math("8")'><input type="button" class="button black" value="9" onclick='math("9")'><input type="button" class="button grey" value="*" onclick='math("*")'></p>
    <p><input type="button" class="button black" value="4" onclick='math("4")'><input type="button" class="button black" value="5" onclick='math("5")'><input type="button" class="button black" value="6" onclick='math("6")'><input type="button" class="button grey" value="-" onclick='math("-")'></p>
    <p><input type="button" class="button black" value="1" onclick='math("1")'><input type="button" class="button black" value="2" onclick='math("2")'><input type="button" class="button black" value="3" onclick='math("3")'><input type="button" class="button grey" value="+" onclick='math("+")'></p>
    <p><input type="button" class="button black" value="0" onclick='math("0")'><input type="button" class="button black" value="." onclick='math(".")'><input type="button" class="button black" value="C" onclick='c("")'><input type="button" class="button green" value="=" onclick='e()'></p>
<center></div>

JavaScript

JavaScript

function c(val) {
    document.getElementById("d").value=val;
}
function math(val) {
    document.getElementById("d").value+=val;
}
function back() {
    //delete last letter function.
}
function e() { 
try { 
    c(eval(document.getElementById("d").value)) 
} 
catch(e) {
    c('Error') 
} 
}

回答by Juank

function back() {
    var value = document.getElementById("d").value;
    document.getElementById("d").value = value.substr(0, value.length - 1);
}