个人主页:《爱蹦跶的大A阿》
当前正在更新专栏:《VUE》 、《JavaScript保姆级教程》、《krpano》、《krpano中文文档》
键盘事件可以帮助我们响应用户的按键输入,是实现网页交互的重要方式之一。本文将详细介绍键盘事件的种类、属性和在JavaScript中的使用方式。
相信学习后,大家不仅可以处理各种键盘活动,还可以创造键盘热键、键盘游戏等丰富的交互体验。让我们开始学习之旅吧!
本文介绍最常用的键盘事件。
input.onkeydown = function(e) {
if (e.key == 'Enter') {
alert('Enter pressed!');
}
};
input.onkeyup = function(e) {
if (e.key == 'Enter') {
alert('Enter released');
}
};
这两个事件不区分字母大小写。
keypress 事件在按键被按下并产生字符时触发。特点是:
input.onkeypress = function(e) {
// 获取输入的字符
if (e.key == 'a') {
alert('a pressed');
}
};
跟踪多个按键的组合按下,例如 “Ctrl+C”:
document.onkeydown = function(e){
if (e.ctrlKey && e.key == 'c') {
alert('Ctrl+C');
}
};
直接访问 e.code
也可以获取物理按键名。
键盘事件对象包含了按键详细信息,常用的属性有:
例子:
elem.onkeydown = function(e) {
console.log(e.key); // "a"
console.log(e.code); // "KeyA"
console.log(e.altKey); // false
console.log(e.repeat); // true(长按键时)
}
某些按键组合会触发浏览器默认行为,可以通过 event.preventDefault()
来防止:
document.onkeydown = function(e) {
if (e.key == 'F1') {
e.preventDefault(); // 防止浏览器打开帮助页
}
};
对于长按按键,事件会自动重播。我们可以区分首次按下与重播事件:
let firstTime = true;
elem.onkeydown = function(e) {
if (firstTime) {
firstTime = false;
return;
}
// 重复触发的代码
};
elem.onkeyup = () => firstTime = true; // 重置开关
键盘提供了极为重要的用户输入方式。学习使用键盘事件可以让我们更好地控制交互逻辑,优化用户体验。
本文详细介绍了键盘事件的种类和属性,并通过示例展示了跟踪键盘组合和处理自动重复事件的方法。希望这篇博客能够全面提高大家对键盘事件的理解与应用。如果有任何问题,欢迎在评论区交流。