简单的.on('keydown')jQuery事件在按下下一个键之前没有响应

SIS*_*SYN 0 javascript jquery event-handling javascript-events

我正在为朋友制作一个页面,并且我有一个隐藏的文本字段,当用户键入文本时,将其转换为div,使其看起来像是在屏幕上而不是在输入字段中键入.

以下是该页面的链接:http://merkd.com/godis.php

这是我用来响应击键的函数:

$('#hiddenInput').keydown(function() {
    var input = $('#hiddenInput').val();
    var html = '<div style="float: left;">'+input+'</div><div id="cursor">|</div>';
    $('#typingArea').html(html);
});
Run Code Online (Sandbox Code Playgroud)

文本字段现在可见,以便您可以看到问题.输入或删除文本时,直到下一次按键才会响应.因此,如果我输入一个字母,在输入下一个字母之前不会显示任何内容.

我查看了jQuery .on()文档,但我找不到任何相关内容.任何帮助深表感谢.

PS我知道它应该是一个单独的问题,但是有一种简单的方法可以使文本字段始终处于焦点状态吗?我想这样做,无论用户点击的位置或其他什么,如果他们键入,文本仍将显示.

Kon*_*ole 6

使用.keyup()事件是因为当您第一次按(keydown)时,从不输入字母,因此var html获得之前的值.对于第二部分,您可以绑定keypress事件document以聚焦输入字段.