在 JavaScript 中模拟按键

Shiv Yadav 2023年10月12日
在 JavaScript 中模拟按键

本文将讨论如何在 JavaScript 中以编程方式触发按键事件。

在 JavaScript 中使用 dispatchEvent 方法模拟按键

我们可以使用 dispatchEvent 方法来触发特定事件。

例子:

window.addEventListener('keydown', (e) => {console.log(e)})

window.dispatchEvent(new KeyboardEvent('keydown', {'key': 'b'}));

点击这里运行上面的代码。

监听并触发 keydown 事件

为了监听 keydown 事件,我们使用 addEventListener 和’keydown’参数。然后通过使用 KeyboardEvent 实例调用 window.dispatchEvent 来触发此事件。

在构造函数的第一个参数中,我们指定要触发的键盘事件的类型。在第二个参数中,我们传递一个带有选项的对象以在事件对象中设置。

因此,在登录回调时运行 dispatchEvente.key 应该是 b

如上所述,该程序可以在对象中设置更多选项。

例子:

window.addEventListener('keydown', (e) => {console.log(e)})

window.dispatchEvent(new KeyboardEvent('keydown', {
  key: 'b',
  keyCode: 66,
  code: 'KeyE',
  which: 66,
  shiftKey: false,
  ctrlKey: false,
  metaKey: false
}));

点击这里运行上面的代码。

为对象提供更多选项

我们要设置的键的数字代码是 keyCode。键名编码在代码中,其中包含键盘键的编号。

如果我们除了要按的键之外还想按 Shift 键,我们可以将 shiftKey 设置为 true。

ctrlKey 决定我们是否要在当前键之外按下 Ctrl 键。如果我们要按下元键,我们将 metaKey 设置为 true。

元键是 PC 键盘上的 Windows 键,而它是 Mac 键盘上的 Command 键。

当事件被触发时,我们应该会看到在 addEventListener 回调中记录的所有选项。它们应该与我们传递给 KeyboardEvent 构造函数的选项对象位于相同的 e 对象属性中。

使用 keyup 事件,我们可以编写相同的代码。在任何地方,我们都将 keydown 替换为 keyup

我们甚至可以使用 JavaScript 中的 dispatch 方法通过事件对象来模拟按键事件。KeyboardEvent 构造函数可以创建具有各种选项的键盘事件。

作者: Shiv Yadav
Shiv Yadav avatar Shiv Yadav avatar

Shiv is a self-driven and passionate Machine learning Learner who is innovative in application design, development, testing, and deployment and provides program requirements into sustainable advanced technical solutions through JavaScript, Python, and other programs for continuous improvement of AI technologies.

LinkedIn

相关文章 - JavaScript Event