问题
如果我们尝试在可编辑区域中输入内容,我们可能会注意到输出与我们输入的内容相比落后一个字符。
这可能是因为用户输入不是在 keydown 上注册的,而是在 keyup 上注册的。
使用input 事件更适合实时获取用户输入。
如果因为某些原因不能使用input事件,也可以试试keyup事件。
let textArea = document.getElementById("textArea"); let resultArea = document.getElementById("resultArea"); document.addEventListener('keydown', function (){ resultArea.innerHTML = textArea.innerText; });
解决方案
下面的例子使用 input 事件而不是 keydown 或者 keyup;尝试在文本框中键入内容以查看差异。
document.addEventListener('input', function (){ resultArea.innerHTML = textArea.innerText; });
我们只改变了addEventListener函数中使用的事件类型。
日期:2020-06-02 22:17:06 来源:oir作者:oir