从onkeydown事件获取当前用户输入(Javascript)

时间:2013-11-18 08:50:17

标签: javascript jquery html

我可以将任何用户类型打印到textarea到控制台上,但控制台上的输出不会打印用户键入的最新字符。有一张结果图片:

http://postimg.org/image/k44nyls9d/

这是我的代码:

http://postimg.org/image/ynpl53cmv/

谢谢

(抱歉,我无法直接上传图片。自从我刚开帐户以来,我没有发布图片所需的10个声誉)

4 个答案:

答案 0 :(得分:1)

首先,您可以在jquery中定义事件,无需将其放在HTML中。当您使用keydown时,密钥尚未注册,这会在触发此事件后发生。你可以简单地绑定change,keydown& keyup覆盖所有事件并获得正确的值。

$('#myTextarea').bind('change keydown keyup',function (){
   console.log($(this).val());
});

http://jsfiddle.net/KYhzK/

答案 1 :(得分:0)

您的答案在事件中,您可以使用onkeyup事件而不是onkeydown

当您按下键盘键时

onkeydown触发

释放键盘键时

onkeyup触发

编辑:

因为你正在使用Jquery:

$(document).ready(function(function(){
    $("#myTextarea").keyup(function(){
        console.log($(this).val());
    });
});

答案 2 :(得分:0)

尝试将onkeydown更改为onkeyup。 keydown事件更可能发生在文本框更新之前,因此它将记录先前的值而不是新值。

答案 3 :(得分:0)

因为您正在使用jquery尝试

$('#myTextarea').keyup(function (){ console.log($(this).val());});

这将为您提供textarea

中输入的当前内容