hand
_1_11_109
4
返回栏目
0k
2k
1k
2k
1k
1k
1k
2k
2k
2k
1k
2k
1k
2k
1k
1k
1k
1k
1k
2k
1k
1k
1k
1k
1k
1k
1k
1k
1k
2k
1k
1k
1k
1k
1k
1k
1k
1k
1k
2k
1k
1k
1k
1k
1k
1k
1k
2k
1k
2k
1k
1k
1k
1k
1k
1k
1k
2k
2k
1k
1k
1k
2k
1k
1k
2k
2k
1k
1k
1k
2k
1k
1k
2k
2k
1k
2k
1k
1k
2k
2k
2k
3k
3k
2k
3k
2k
3k
3k
3k
1k
2k
3k
2k
2k
3k
3k
2k
2k
6k
3k
2k
2k
5k
3k
4k
3k
3k
2k
4k
3k
3k
2k
3k
3k
1k
4k
4k
4k
2k
5k
3k
2k
3k
4k
3k
3k
4k
2k
3k
3k
4k
2k
2k
3k
4k
3k
3k
2k
5k
2k
3k
3k
3k
3k
2k
3k
3k
3k
2k
2k
2k
2k
3k
2k
2k
2k
3k
2k
2k
2k
2k
2k
2k
0.1k
0.2k
3k
2k
3k
2k
0.1k
2k
2k
4k
2k
2k
1k
2k
2k
3k
3k
3k
3k
2k
2k
3k
3k
3k
4k
3k
3k
4k
3k
2k
2k
3k
3k
3k
3k
3k
3k
2k
3k
3k
4k
4k
3k
3k
2k
2k
3k
2k
2k
1k
2k
3k
1k
2k
2k
2k
2k
2k
2k
2k
2k
2k
4k
2k
3k
2k
1k
2k
2k
2k
2k
2k
3k
2k
3k
1k
2k
2k
2k
0k
2k
2k
2k
2k
2k
2k
2k
3k
2k
2k
1k
1k
3k
2k
3k
1k
2k
1k
2k
2k
2k
2k
3k
1k
3k
2k
2k
2k
2k
2k
2k
1k
2k
2k
4k
3k
3k
2k
2k
2k
2k
2k
2k
4k
3k
3k
3k
2k
2k
2k
2k
2k
2k
3k
4k
返回前端 - Javascript栏目
作者:
贺及楼
成为作者
更新日期:2025-02-21 19:51:56
在前端开发中,JavaScript 的事件处理是一个非常重要的部分。当用户与网页进行交互时,如点击按钮、滚动页面或按下键盘按键,浏览器会触发相应的事件。事件对象则包含了与事件相关的各种信息,对于键盘事件,事件对象的键盘事件属性尤为关键,它们能帮助我们捕获用户的键盘操作细节。下面就来详细介绍键盘事件属性。
在介绍键盘事件属性之前,先了解一下常见的键盘事件:
keydown
:当用户按下键盘上的任意按键时触发,持续按住按键会重复触发该事件。keypress
:当用户按下可产生字符的按键时触发,例如字母、数字、标点符号等。不过,这个事件在现代开发中使用较少,因为它存在一些兼容性问题。keyup
:当用户释放键盘上的按键时触发。key
属性key
属性返回一个字符串,表示用户按下的键的标识。这个标识通常是按键对应的字符(如字母、数字),或者是特殊按键的名称(如 Enter
、Escape
等)。
示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
</head>
<body>
<input type="text" id="inputField">
<script>
const inputField = document.getElementById('inputField');
inputField.addEventListener('keydown', function (event) {
console.log('按下的键是: ', event.key);
});
</script>
</body>
</html>
在这个示例中,当用户在输入框中按下按键时,控制台会输出按下的键的标识。
code
属性code
属性返回一个字符串,表示按键的物理位置。它不受键盘布局和操作系统的影响,例如,无论使用哪种键盘布局,KeyA
始终表示键盘上字母 A 所在的物理按键。
示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
</head>
<body>
<input type="text" id="inputField">
<script>
const inputField = document.getElementById('inputField');
inputField.addEventListener('keydown', function (event) {
console.log('按键的物理位置代码是: ', event.code);
});
</script>
</body>
</html>
这个示例中,当用户在输入框中按下按键时,控制台会输出按键的物理位置代码。
keyCode
和 which
属性(不推荐使用)keyCode
和 which
属性在早期的 JavaScript 中用于获取按键的编码。然而,这两个属性已经被 key
和 code
属性取代,因为它们存在兼容性问题,并且不同浏览器对它们的实现可能不一致。
altKey
:布尔值,表示在事件触发时 Alt
键是否被按下。ctrlKey
:布尔值,表示在事件触发时 Ctrl
键是否被按下。shiftKey
:布尔值,表示在事件触发时 Shift
键是否被按下。metaKey
:布尔值,表示在事件触发时 Meta
键(在 Windows 系统中通常是 Windows
键,在 Mac 系统中通常是 Command
键)是否被按下。示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
</head>
<body>
<input type="text" id="inputField">
<script>
const inputField = document.getElementById('inputField');
inputField.addEventListener('keydown', function (event) {
console.log('Alt 键是否按下: ', event.altKey);
console.log('Ctrl 键是否按下: ', event.ctrlKey);
console.log('Shift 键是否按下: ', event.shiftKey);
console.log('Meta 键是否按下: ', event.metaKey);
});
</script>
</body>
</html>
在这个示例中,当用户在输入框中按下按键时,控制台会输出各个修饰键的状态。
属性 | 描述 | 返回值类型 |
---|---|---|
key |
表示用户按下的键的标识 | 字符串 |
code |
表示按键的物理位置 | 字符串 |
keyCode 和 which |
早期用于获取按键编码,已不推荐使用 | 数字 |
altKey |
表示 Alt 键是否被按下 |
布尔值 |
ctrlKey |
表示 Ctrl 键是否被按下 |
布尔值 |
shiftKey |
表示 Shift 键是否被按下 |
布尔值 |
metaKey |
表示 Meta 键是否被按下 |
布尔值 |
通过这些键盘事件属性,我们可以实现各种有趣的交互效果,例如快捷键功能、输入验证等。在实际开发中,合理运用这些属性能够提升用户体验,让网页更加交互性和趣味性。
前端 - Javascript
整章节共299节
快分享给你的小伙伴吧 ~