📅  最后修改于: 2023-12-03 14:52:44.562000             🧑  作者: Mango
在JavaScript中,我们可以通过监听键盘事件来获取用户按下了哪个键。这可以用于实现各种功能,如快捷键,游戏控制等。下面会介绍两种常用的方式来实现这个功能。
JavaScript中可以使用 keydown
和 keyup
事件来监听键盘按下和弹起的情况。这两个事件在按下或弹起某个键时触发,我们可以通过事件对象的属性来获取按下了哪个键。
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
方法为 keydown
和 keyup
事件注册了监听器。在监听器函数中,我们使用 event.keyCode
或 event.which
属性来获取按下或弹起的键的代码。然后我们可以根据键的代码执行相应的逻辑。
注意,event.keyCode
是过时的属性,在一些特殊键和输入法下可能不可靠。为了兼容性,我们可以使用 event.which
属性来获取键的代码。
如果我们只关心字符按键(包括字母、数字、标点符号等),可以使用 keypress
事件来监听。这个事件在按下字符键时触发,但不会在按下非字符键(如Ctrl、Shift等)时触发。
document.addEventListener('keypress', function(event) {
var char = String.fromCharCode(event.keyCode || event.which);
console.log('Key:', char);
});
上述代码中,我们通过 addEventListener
方法为 keypress
事件注册了监听器。在监听器函数中,我们使用 String.fromCharCode
方法将键的代码转换为相应的字符。
下面是一些常用键的键值,它们可以用来判断哪个键被按下:
更多键值可以参考 键盘事件的列表。
使用上述方法,我们可以轻松地获取在JavaScript中按下了哪个键。根据按下的键来执行不同的逻辑,可以为用户提供更好的交互体验。记住要根据具体的需求选择合适的事件(keydown
、keyup
、keypress
)以及对应的键值来处理键盘事件。