我怎样才能做到这一点,当我单击一个按钮时,它会一个接一个地放置一个数字,并且不会替换那里的值。也就是说,如果我在 3 上单击两次它会添加 33,或者如果我单击 1 然后在 3 上我会添加 13
https://jsfiddle.net/yauf8m8s/
function numero1() {
var number1 = 1;
document.getElementById("inputext").value = number1;
}
function numero2() {
var number2 = 2;
document.getElementById("inputext").value = number2;
}
function numero3() {
var number3 = 3;
document.getElementById("inputext").value = number3;
}
<div class="display">
<input type="text" id="inputext" value="0">
</div>
<br />
<button onclick="numero1()">1</button>
<button onclick="numero2()">2</button>
<button onclick="numero3()">3</button>
因为它们是实际上做同样事情的函数,唯一改变的是根据按下的按钮添加的值,如果你更好地组织每个按钮及其属性,你可以大大简化代码。
为了它:
btnNumber
分配相同的类(通过这种方式,我们将能够通过它们的类和类型为所有按钮添加一个侦听器)。因此,我们不再需要为每个按下的按钮调用一个函数,因此我们onclick
为每个按钮删除一个函数。value
,这个值将非常有用,稍后您将看到querySelectorAll
来选择按钮并为它们分配监听器(如果出现兼容性问题,还有其他方法可以做到这一点)。这将允许我们在每次按下其中一个按钮时调用一个函数。agregarTexto
,我们value
使用使用单击的按钮之一this
,并通过连接将其添加到输入中+=
。这样代码就简化了很多。
注意:我假设
0
您的初始值没有兴趣保存,因此已将其更改为 aplaceholder
,这不会影响input
. 如果您有兴趣保留0
左侧的 ,则将 更改placeholder
为value="0"
原来的样子。我希望它对你有帮助。
不只是设置输入的值,而是
=
连接它+=
:分配
=
而不是连接时出现问题+=
但是您可以在几行中仅使用 Javascript来完全优化您的代码,只需稍作改动:
JS
HTML