📌  相关文章
📜  如何在javascript中获取按下了哪个键(1)

📅  最后修改于: 2023-12-03 14:52:44.562000             🧑  作者: Mango

如何在JavaScript中获取按下了哪个键

在JavaScript中,我们可以通过监听键盘事件来获取用户按下了哪个键。这可以用于实现各种功能,如快捷键,游戏控制等。下面会介绍两种常用的方式来实现这个功能。

使用keydown和keyup事件监听键盘按下和弹起

JavaScript中可以使用 keydownkeyup 事件来监听键盘按下和弹起的情况。这两个事件在按下或弹起某个键时触发,我们可以通过事件对象的属性来获取按下了哪个键。

document.addEventListener('keydown', function(event) {
  var keyCode = event.keyCode || event.which;
  console.log('Key down:', keyCode);
});

document.addEventListener('keyup', function(event) {
  var keyCode = event.keyCode || event.which;
  console.log('Key up:', keyCode);
});

上述代码中,我们通过 addEventListener 方法为 keydownkeyup 事件注册了监听器。在监听器函数中,我们使用 event.keyCodeevent.which 属性来获取按下或弹起的键的代码。然后我们可以根据键的代码执行相应的逻辑。

注意,event.keyCode 是过时的属性,在一些特殊键和输入法下可能不可靠。为了兼容性,我们可以使用 event.which 属性来获取键的代码。

使用keypress事件获取字符按键

如果我们只关心字符按键(包括字母、数字、标点符号等),可以使用 keypress 事件来监听。这个事件在按下字符键时触发,但不会在按下非字符键(如Ctrl、Shift等)时触发。

document.addEventListener('keypress', function(event) {
  var char = String.fromCharCode(event.keyCode || event.which);
  console.log('Key:', char);
});

上述代码中,我们通过 addEventListener 方法为 keypress 事件注册了监听器。在监听器函数中,我们使用 String.fromCharCode 方法将键的代码转换为相应的字符。

键盘事件常用的键值

下面是一些常用键的键值,它们可以用来判断哪个键被按下:

  • 字母键:A(65)到 Z(90)
  • 数字键:0(48)到 9(57)
  • 功能键:F1(112)到 F12(123)
  • 特殊键:Shift(16)、Ctrl(17)、Alt(18)、Tab(9)、Enter(13)、空格键(32)

更多键值可以参考 键盘事件的列表

结论

使用上述方法,我们可以轻松地获取在JavaScript中按下了哪个键。根据按下的键来执行不同的逻辑,可以为用户提供更好的交互体验。记住要根据具体的需求选择合适的事件(keydownkeyupkeypress)以及对应的键值来处理键盘事件。