如何获取下一次击键将写入的 INPUT 元素?

问题描述 投票:0回答:1

我有一些 HTML / JS 应用程序,我喜欢通过注入虚拟用户输入来测试。

我尝试使用

document.activeElement
来查找我将模拟输入推送到的 INPUT / TEXTAREA,但通常
activeElement
仅指向
document.body
。输入真正的击键将使一些浏览器魔法发生,它将焦点捕捉到页面上的某些(第一个?)可见的 INPUT 元素并将刚刚输入的字符放在那里。

这种魔法总是如此吗?这种情况是否以可靠的方式发生?什么样的 JS 代码会像这个“魔法”?

javascript focus
1个回答
0
投票

document.addEventListener('keydown', (e, input) => /[A-Za-z0-9]/.test(e.key) && document.querySelector('input').focus());
<input>

© www.soinside.com 2019 - 2024. All rights reserved.