我正在为朋友制作一个页面,并且我有一个隐藏的文本字段,当用户键入文本时,将其转换为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);
});
现在可以看到文本字段,以便您可以看到问题。输入或删除文本时,直到下一次按键才会响应。因此,如果我输入一个字母,则在输入下一个字母之前不会显示任何内容。
我查看了jQuery .on()
文档,但我找不到任何相关内容。任何帮助深表感谢。
P.S。我知道它应该是一个单独的问题,但是有一种简单的方法可以使文本字段始终处于焦点状态吗?我想这样做,无论用户点击的位置或其他什么,如果他们输入,文本仍会显示。
答案 0 :(得分:6)
使用.keyup()
事件,因为当您第一次按(keydown)时,从不输入字母,因此var html
获得之前的值。对于第二部分,您可以绑定keypress
中的document
事件来聚焦您的输入字段。