单击除数字之外的任何内容后,我的输入框会重置
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单击除数字之外的任何内容后,我的输入框会重置相关的知识,希望对你有一定的参考价值。
所以我建立一个计算器。我遇到的问题是,当我点击计算符号然后我输入更多数字时,计算符号会附加到值的前面。
如何重置输入框以便一旦我点击一个数字,计算符号就会消失并开始一个新的数字列表 - 请参阅下面的一些代码
if (!isNaN(e.target.textContent)) {
inp.value += parseInt(e.target.textContent);
val1 = inp.value;
console.log(val1);
} else if (
isNaN(e.target.textContent) &&
e.target.textContent !== "ENTER"
) {
calculationSign = e.target.textContent;
inp.value = e.target.textContent;
console.log(calculationSign);
}
答案
要回答您的问题,您可以测试输入框当前是否由操作员提供:
if (!isNaN(e.target.textContent)) {
if (['+', '-', '*', '/'].indexOf(inp.value) !== -1) {
inp.value = ''
}
inp.value += parseInt(e.target.textContent);
val1 = inp.value;
console.log(val1);
}
无论如何,在使用ENTER
触发计算之前,您需要更多的状态和逻辑来确定用户何时输入第二个值,但也许它在您的实际代码中的其他位置。
以上是关于单击除数字之外的任何内容后,我的输入框会重置的主要内容,如果未能解决你的问题,请参考以下文章
用于定位回车换行符的正则表达式后跟除 8 位数字和 | 之外的任何内容
删除除 0-9 + - / * 和 ^ 之外的任何字符 [重复]