【发布时间】:2020-02-28 18:15:58
【问题描述】:
我正在寻找如何在js中模拟按键事件的示例。
我找到的示例都使用the deprecated Event.initEvent method。
当我尝试改用 the recommended KeyboardEvent 时,它不起作用 - 输入未更新。
<input id="myInput" />
const element = document.getElementById('myInput')
const keypressEvent = new KeyboardEvent('keypress', {
code: 'KeyA'
})
element.dispatchEvent(keypressEvent)
上面的代码有什么问题或遗漏?元素是否需要先获得焦点或类似的东西?
【问题讨论】:
-
您要触发什么类型的事件? JS 原生代码还是第三方代码?也许有一种明确的方法可以达到同样的效果。
-
@PedroLima 我正在尝试触发“按键”事件,如标题和代码中所述。我想模拟用户在输入字段中输入文本。
-
请参阅this 答案或this answer。 dispatchEvent 不会更新你的输入内容
-
更新了我的答案,您需要处理元素上的按下,调度的键盘事件将具有 keyCode 0。
标签: javascript dom dom-events