从onkeydown事件(Javascript)获取当前用户输入
我可以将用户键入的任何内容打印到控制台的文本区域中,但控制台上的输出不会打印用户键入的最新字符。下面是结果的图片: 这是我的密码: 谢谢从onkeydown事件(Javascript)获取当前用户输入,javascript,jquery,html,Javascript,Jquery,Html,我可以将用户键入的任何内容打印到控制台的文本区域中,但控制台上的输出不会打印用户键入的最新字符。下面是结果的图片: 这是我的密码: 谢谢 (很抱歉,我无法直接上传图片。我没有发布图片所需的10个声誉,因为我刚刚创建了帐户)您的答案取决于事件,您可以使用onkeyup事件而不是onkeydown事件 按键盘键时,onkeydown触发 释放键盘键时,onkeyup将触发 编辑: 因为您使用的是Jquery: $(document).ready(function(function(){
(很抱歉,我无法直接上传图片。我没有发布图片所需的10个声誉,因为我刚刚创建了帐户)您的答案取决于事件,您可以使用onkeyup事件而不是onkeydown事件 按键盘键时,onkeydown触发 释放键盘键时,onkeyup将触发 编辑: 因为您使用的是Jquery:
$(document).ready(function(function(){
$("#myTextarea").keyup(function(){
console.log($(this).val());
});
});
尝试将
onkeydown
更改为onkeydup
。keydown事件很可能发生在文本框更新之前,因此它将记录以前的值而不是新值。首先,您可以在jquery中定义事件,无需将其放入HTML中。使用keydown时,密钥尚未注册,这发生在触发此事件之后。您可以简单地绑定change、keydown和keydup以覆盖所有事件并获得正确的值
$('#myTextarea').bind('change keydown keyup',function (){
console.log($(this).val());
});
既然您正在使用
jquery
进行查询,试试看:
$('#myTextarea').keyup(function (){ console.log($(this).val());});
这将为您提供当前键入的
文本区域
非常感谢所有回复。现在修好了。再次感谢!那么你应该把答案标记为正确;)