如何使用Javascript使用输入文本框中的输入填充div?

如何使用Javascript使用输入文本框中的输入填充div?,javascript,html,input,Javascript,Html,Input,我试图在填充div的输入文本框上运行脚本。代码段如下所示: <input type="text" id="control" value="" /> <div id="displaydiv"></div> <script> document.getElementById("control").onkeydown = function() { document.getElementById("displaydiv").innerHTML = this.

我试图在填充div的输入文本框上运行脚本。代码段如下所示:

<input type="text" id="control" value="" />
<div id="displaydiv"></div>
<script>
document.getElementById("control").onkeydown = function() {
document.getElementById("displaydiv").innerHTML = this.value;   
}
</script>

document.getElementById(“控件”).onkeydown=function(){
document.getElementById(“displaydiv”).innerHTML=this.value;
}

这里的问题是有一个字符的延迟,即如果我键入“a”,什么都不会显示。当我键入“b”时,会显示前面的“a”,依此类推。我尝试用onkeyup替换onkeydown,但是仍然有一点滞后。如何使div与输入文本框实时匹配,而不刷新页面和/或失去对输入框的关注


感谢您的关注。

这是因为
onkeydown
在键将其值添加到输入之前触发。改用
onkeyup
。它将以你所追求的方式工作

编辑:不确定我是否错过了速度方面的东西,如果你编辑了你的问题,但是你看到的滞后是不可避免的。它将尽可能接近“实时”。它真的没有那么糟糕,当我登记时不到半秒钟


Edit2:为了满足我的好奇心,我检查了KnockoutJS的数据绑定性能,一个输入通过knockout更新div文本,另一个输入通过脚本更新div文本。性能完全相同。事实上,我有点惊讶淘汰赛没有引入任何明显的开销。下面是

“我尝试用onkeyup替换onkeydown,但仍然有一点滞后”-欢迎使用web编程。onKeyDown是最快的你会得到。。。没有“在用户按EsKey之前”事件。