【问题标题】:An addEventListener with keydown results in an empty string upon the first key in a textarea带有 keydown 的 addEventListener 在 textarea 中的第一个键上产生一个空字符串
【发布时间】:2021-12-26 02:32:44
【问题描述】:

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

这是我的代码,

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

这是我的 textarea 的 HTML,以备不时之需,

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

谢谢。

【问题讨论】:

  • 以上抛出错误——marked 是什么,它在哪里?
  • 所以,标记的是我正在使用的库。你可以删除它,我只想要这个值。事实上,我应该删除它,感谢您伸出援手!
  • @icantfindmyspider 尝试从evt.target.value 而不是editor.value 访问值。

标签: javascript html textarea


【解决方案1】:

要在您键入时查看所有字符,请使用 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>

【讨论】:

  • 这就是我所做的,它也可以工作 ``` editor.addEventListener('keyup', (event => { let key = this.value; let value = editor.value; console.log (价值); })); ``` 出于某种原因,这也有效。无论如何,感谢您的意见,祝您有愉快的一天。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-23
  • 2016-12-30
  • 2017-09-03
相关资源
最近更新 更多