在Vanilla JS中 - 一旦用户完成输入,就更改变量

时间:2015-03-23 17:09:46

标签: javascript html

不使用jQuery - 我试图简单地根据输入的值更改var - 当用户完成输入然后更新div值。有没有办法在不编写函数的情况下执行此操作?如果发生变化就会改变var。

<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;

1 个答案:

答案 0 :(得分:1)

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

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

你可以做到这一点(我能想到的)唯一的另一种方法是使用一些setInterval循环,并在每次迭代中重新检查状态,但实际上,这将是一个糟糕的主意。 / p>

Here, I've made a JSFiddle to demonstrate my approach.

&#13;
&#13;
var disNum = document.getElementById('inNum');

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