如何使用JavaScript从一个输入文本框中填入输入一个div?(How can I use Ja

2019-10-16 19:40发布

我想对填充一个div的文本输入框运行的脚本。 该片段是像这样:

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

这里的问题是,有一个字符的滞后性,也就是说,如果我输入“A”,什么也不显示。 当我输入“B”,以前的“A”显示出来等。 我试着用的onkeyup更换的onkeydown,仍然有一点滞后的。 我如何获得的股利,以匹配实时输入文本框,而无需刷新页面和/或输入框失去焦点?

感谢您寻找。

Answer 1:

这是因为onkeydown触发前的关键有其价值添加到输入。 使用onkeyup代替。 它会工作,你是以后的路。

编辑:不知道如果我错过了速度的东西,如果你编辑了自己的问题,但你看到的滞后是不可避免的。 你会得到它是接近“实时”。 这真的甚至没有那么糟糕,不到半秒钟当我检查它在提琴

EDIT2:只是为了满足我的好奇心,我核对KnockoutJS的数据绑定的性能,与一个输入更新通过敲除一个div文本,并通过你的脚本另一个DIV。 性能是相同的。 实际上,我是有点惊讶淘汰赛没有引入任何noticable开销。 这里是小提琴



文章来源: How can I use Javascript to populate a div with input from an input text box?