插件窝 干货文章 js键盘事件怎么调

js键盘事件怎么调

事件 event 监听器 addeventlistener 815    来源:    2024-10-24
在 javascript 中,触发键盘事件有三种方法:访问 dom 元素的 onkeydown、onkeypress 和 onkeyup 属性使用 document.addeventlistener 在文档级别添加键盘事件监听器使用 keyboardevent 构造函数

如何触发 JavaScript 键盘事件

键盘事件是用户通过键盘与网页进行交互时触发的事件。在 JavaScript 中,可以通过以下方法触发键盘事件:

1. 访问 DOM 元素的 onkeydown、onkeypress 和 onkeyup 属性

最直接的方法是访问 HTML 元素的键盘事件属性:

// 获取文本输入框元素
const inputElement = document.querySelector('input');

// 为文本输入框添加 keydown 事件监听器
inputElement.addEventListener('keydown', (event) => {
  console.log(`keydown event triggered: ${event.key}`);
});

// 为文本输入框添加 keypress 事件监听器
inputElement.addEventListener('keypress', (event) => {
  console.log(`keypress event triggered: ${event.key}`);
});

// 为文本输入框添加 keyup 事件监听器
inputElement.addEventListener('keyup', (event) => {
  console.log(`keyup event triggered: ${event.key}`);
});

2. 使用 document.addEventListener

除了直接访问元素的属性,还可以在文档级别添加键盘事件监听器:

// 为文档添加 keydown 事件监听器
document.addEventListener('keydown', (event) => {
  console.log(`Global keydown event triggered: ${event.key}`);
});

// 为文档添加 keypress 事件监听器
document.addEventListener('keypress', (event) => {
  console.log(`Global keypress event triggered: ${event.key}`);
});

// 为文档添加 keyup 事件监听器
document.addEventListener('keyup', (event) => {
  console.log(`Global keyup event triggered: ${event.key}`);
});

3. KeyboardEvent 构造函数

在某些情况下,可能需要手动触发键盘事件。可以使用 KeyboardEvent 构造函数创建一个事件对象,然后使用 dispatchEvent 方法触发事件:

// 创建一个键盘事件对象
const event = new KeyboardEvent('keydown', {
  key: 'a',
  code: 'KeyA',
});

// 触发事件
document.dispatchEvent(event);

提示:

  • event.key 属性表示按下的键的实际字符(对于数字和字母键)。
  • event.code 属性表示按下的键的物理代码(例如,对于功能键)。
  • 键盘事件可以被取消(阻止默认行为)或被修改(更改键值)。有关更多信息,请参阅 JavaScript 文档。