在VanillaJS中-一旦用户完成键入,就更改变量

In Vanilla JS - Change a variable once a user finishes typing

本文关键字:变量 改变 VanillaJS 用户      更新时间:2023-09-26

在不使用jQuery的情况下——我试图简单地根据输入的值更改var——当用户完成键入后,更新div值。有没有一种方法可以做到这一点,而不需要编写一个函数来启动更改?类似于如果发生变化,则改变变量

<div>
    <input type="text" maxlength="12" id="inNum" />
</div>
<div id="rooms"></div>
var disNum = document.getElementById('inNum').onchange;
document.getElementById('rooms').innerHTML  = disNum.value;

最好的方法是监听keypresskeydownkeyup中的一个。

我试着听onchange,但只有当输入模糊时才会响起;也许这是你目前的问题,或者实际上是你想要的行为。如果这是您想要的行为,只需将下面的.onkeyup替换为.onchange即可。

你能做到这一点的唯一其他方法(我能想到)是使用一些setInterval循环,并在每次迭代中重新检查状态,但实际上,这是一个糟糕的想法。

在这里,我制作了一个JSFiddle来演示我的方法。

var disNum = document.getElementById('inNum');
disNum.onkeyup = function(){
  document.getElementById('rooms').innerHTML = disNum.value;
};
<div>
    <input type="text" maxlength="12" id="inNum">
</div>
<div id="rooms"></div>