键盘 js 实现
键盘事件监听实现
使用JavaScript监听键盘事件可以通过addEventListener方法实现。以下是基本代码示例:

document.addEventListener('keydown', function(event) {
console.log('按键按下:', event.key);
});
document.addEventListener('keyup', function(event) {
console.log('按键释放:', event.key);
});
常用键盘事件类型
keydown: 按键按下时触发keyup: 按键释放时触发keypress: 按键按下并产生字符时触发(已废弃,不推荐使用)
获取按键信息
事件对象包含以下常用属性:

event.key // 返回按键的字符串表示(如"a"、"Enter")
event.code // 返回物理按键代码(如"KeyA"、"Enter")
event.which // 返回按键的ASCII码(已废弃)
event.keyCode // 返回按键的ASCII码(已废弃)
组合键检测
检测组合键(如Ctrl+C):
document.addEventListener('keydown', function(event) {
if (event.ctrlKey && event.key === 'c') {
console.log('Ctrl+C pressed');
}
});
阻止默认行为
阻止按键的默认行为:
document.addEventListener('keydown', function(event) {
if (event.key === 'Space') {
event.preventDefault(); // 阻止空格键滚动页面
}
});
完整示例
<!DOCTYPE html>
<html>
<body>
<script>
document.addEventListener('keydown', function(e) {
const output = document.getElementById('output');
output.innerHTML = `
Key: ${e.key}<br>
Code: ${e.code}<br>
Ctrl: ${e.ctrlKey}<br>
Shift: ${e.shiftKey}<br>
Alt: ${e.altKey}<br>
Meta: ${e.metaKey}
`;
if (e.ctrlKey && e.key === 's') {
e.preventDefault();
alert('保存操作被拦截');
}
});
</script>
<div id="output">按下任意键查看信息</div>
</body>
</html>
注意事项
keyCode和which属性已废弃,应使用key或code- 不同浏览器对某些特殊键的
key值可能有差异 - 国际键盘布局可能导致
key值不同 - 移动设备键盘事件支持有限
以上代码可直接复制使用,实现基本的键盘交互功能。根据实际需求可扩展更复杂的功能。






