带有 keydown 的 addEventListener 在文本区域中的第一个键上产生空字符串

An addEventListener with keydown results in an empty string upon the first key in a textarea

我有一个 textarea 标签,它接收用于其他用途的值。当我按下一个键时,它的值是一个空字符串。但是,在第一个键之后按下的键显示得很好。例如,如果我键入“hello”,则值将是“ello”。我想要它,这样第一个键的值就会显示出来。

这是我的代码,

const editor = document.getElementById(‘editor’);
editor.addEventListener('keydown', (event => {
    let value = editor.value;
    console.log(value);
}));

这是我的 HTML 文本区域,以备不时之需,

<textarea autofocus id="editor"></textarea>

谢谢。

要在您键入时查看所有字符,请使用 keyup 而不是 keydown 作为事件类型。

editor.addEventListener('keyup',function(e) {
    let value = this.value;
    let preview=document.getElementById('preview');
    console.log(value);
    preview.innerHTML=value;
});
<textarea autofocus id="editor"></textarea>
<div id='preview'></div>