带有 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>
我有一个 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>