在VanillaJS中-一旦用户完成键入,就更改变量
In Vanilla JS - Change a variable once a user finishes typing
在不使用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;
最好的方法是监听keypress
、keydown
或keyup
中的一个。
我试着听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>
相关文章:
- 变量dos'即使我可以返回更新后的值,也不会改变
- 角度路由:只是为了改变一些变量
- 节点中的变量.js JavaScript 不会改变
- 变量在Javascript中是如何工作的?可以在setTimeout期间更改变量值
- 两个指令引用一个变量,但第二个指令不引用;不要急于改变
- 当变量改变时,在AngularJS中更新视图
- 当绑定变量改变时,Angularjs选择不更新
- 如何在服务器变量改变值时触发jquery的变化?
- Angular在作用域变量改变后更新指令
- 当控制器$scope变量改变时,AngularJS视图没有更新
- 如何用变量改变标题栏样式
- Angular.js在变量改变后更新作用域
- 如何在作用域变量改变时继续调用函数
- 根据AngularJS变量改变DOM元素类型
- 从会话存储中使用item作为变量(改变类的可见性)
- 为什么当响应变量改变值时,这个函数不运行?
- 流星:当模板变量改变时,重新运行代码
- 宽度不随JS变量改变
- ReactJs在状态变量改变时重定向
- 每次变量改变时调用函数