我的编程空间,编程开发者的网络收藏夹
学习永远不晚

JavaScript 键盘事件的处理及属性详解

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

JavaScript 键盘事件的处理及属性详解

引言

JavaScript 中的事件,当用户或浏览器尝试操作页面时,就会发生事件来处理 JavaScript 与HTML的交互。正如大家所知,JavaScript 与HTML一起工作,因此,页面加载、单击按钮、最小化窗口、单击鼠标、敲打键盘等发生的一切都是事件。就像在单击按钮时向用户显示任何消息一样,这是通过事件发生的。

所有HTML元素(如按钮、文本框、图像)都可以包含可以使用 JavaScript 代码触发的事件。所有这些事件都是DOM的一部分(文档对象模型)。在这里,将简单介绍一下键盘事件。

键盘事件对象描述了用户与键盘的交互,每个事件都描述了用户与一个按键(或一个按键和修饰键的组合)的单个交互;事件类型keydownkeypresskeyup 用于识别不同的键盘活动类型。

  • keydown:当按下键盘上的某个键时触发,并在按住该键时重复触发。
  • keyup:当释放键盘上的键时触发。
  • keypress:当按下 abc 之类的字符键盘时触发,而不是左箭头键、home 或结束键盘,... 当按住键盘上的键时,按键也会重复触发。

处理键盘事件

要处理键盘事件,需要执行以下步骤:

  • 首先,选择将触发键盘事件的元素,通常是表单元素。
  • 然后,使用 element.addEventListener() 来注册事件处理程序。

假设有以下带有 id 的文本框 message

<input type="text" id="message">

添加事件的代码如下:

let msg = document.getDocumentById('message');
msg.addEventListener("keydown", (event) => {
    // 事件处理逻辑
});
msg.addEventListener("keypress", (event) => {
    // 事件处理逻辑
});
msg.addEventListener("keyup", (event) => {
    // 事件处理逻辑
});

键盘事件属性

键盘事件有两个重要的属性:keycodekey 属性返回已按下的字符,而 code 属性返回物理键码。

下面主要简单说明一下JavaScript代码部分。

首先,将 DOM 元素赋值给变量以便通过 JavaScript 操作这些元素。

const events = document.querySelector(".event");
const keyEvent = document.querySelector(".event-key .event-value");
const keyCodeEvent = document.querySelector(".event-keyCode .event-value");
const CodeEvent = document.querySelector(".event-code .event-value");
const whichEvent = document.querySelector(".event-which .event-value");
const shiftKey = document.querySelector(".key-shift .key-status");
const ctrlKey = document.querySelector(".key-ctrl .key-status");
const altKey = document.querySelector(".key-alt .key-status");

querySelectorquerySelectorAll 基本上是使用 className 来获取 Html 元素。它们可用于通过类、ID或标签来获取元素。querySelectorquerySelectorAll 之间的基本区别是 querySelectorAll 将返回具有相同类的 NodeList,而 querySelector 将获取该类的单个元素。如果有多个具有相同类或标签的元素,那么它只会获取第一个元素。

下面添加事件到相应的DOM元素:

function keyboardEvents(e) {
    e.preventDefault();
    activeKey(e);
    if (e.key === " ") {
        keyEvent.style.fontStyle = "italic";
        keyEvent.textContent = "(space)";
    } else {
        keyEvent.textContent = e.key;
        keyEvent.style.fontStyle = "normal";
    }
    keyCodeEvent.textContent = e.keyCode;
    CodeEvent.textContent = e.code;
    whichEvent.textContent = e.which;
}

keyboardEvents 接受一个参数,即 eevent ,该参数将是包含事件的所有属性的对象。

  • e.preventDefault() 将阻止浏览器的默认行为,·例如:按功能键。
  • 从 DOM 获取的所有元素都有一些属性,textContent 就是其中之一,它将更新元素的内容。
  • e 有一些属性,e.keyCodee.key 是附加到键盘事件的属性之一,而其他事件如 clickdblclickchange等将包含不同的属性。
  • 将事件监听器附加到 window,这个是全局元素,事件将委托到 window 下的所有元素。
  • 当按下/按下键盘键时,将触发 keydown 事件。

现在将处理特殊键,如 ShiftCtrlAlt

function specialKeys(e) {
    shiftKey.textContent = e.shiftKey;
    ctrlKey.textContent = e.ctrlKey;
    altKey.textContent = e.altKey;
}

e.shiftKeye.ctrlKeye.altKey 将分别根据是否按下键返回布尔值 truefalse。并且此函数分配给两个事件侦听器,因为在按下键时,它将更新值,并且在按下键时,它将返回 false

以上就是JavaScript 键盘事件的处理及属性详解的详细内容,更多关于JavaScript 键盘事件的资料请关注编程网其它相关文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

JavaScript 键盘事件的处理及属性详解

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

JavaScript 键盘事件的处理及属性详解

这篇文章主要为大家介绍了JavaScript 键盘事件的处理及属性详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2023-01-28

Java键盘事件处理及监听机制解析

文章目录 概念KeyEventKeyListener代码演示总结 概念 Java事件处理采用了委派事件模型。在这个模型中,当事件发生时,产生事件的对象将事件信息传递给事件的监听者进行处理。在Java中,事件源是产生事件的对象,
2023-08-20

详解在Cocos2D-html5中的键盘事件与touch事件

编程学习网:关于Cocos2D-html5中的键盘事件与touch事件,初学者可能还不是很了解,本篇教程将带你深入了解Cocos2D-html5中的键盘事件与touch事件。
详解在Cocos2D-html5中的键盘事件与touch事件
2024-04-23

WPF中鼠标/键盘/拖拽事件以及用行为封装事件详解

这篇文章主要为大家详细介绍了WPF中常用的鼠标事件、键盘事件以及注意事项,同时使用一个案例讲解了拓展事件,感兴趣的小伙伴可以了解一下
2023-03-02

android 键盘事件和屏幕事件的运行原理及交互实现

当在自定义View或者做游戏的时候,我们常常会用到键盘触发事件和屏幕触发事件!在自定义的View里的键盘触发事件(比如:onKeyDown(int keyCode, KeyEvent event))和屏幕触发事件(onTouchEvent(
2022-06-06

node.js中的事件处理机制详解

EventEmitter类 在Node.js的用于实现各种事件处理的event模块中,定义了一个EventEmitter类。所有可能触发事件的对象都是一个集成了EventEmitter类的子类的实例对象,在Node.js中,为EventEm
2022-06-04

详解Android的两种事件处理机制

UI编程通常都会伴随事件处理,Android也不例外,它提供了两种方式的事件处理:基于回调的事件处理和基于监听器的事件处理。 对于基于监听器的事件处理而言,主要就是为Android界面组件绑定特定的事件监听器;对于基于回调的事件处理而言,主
2022-06-06

Android事件处理的两种方式详解

事件是一种有用来收集用户与应用程序互动数据的互动组件,如按键或触摸屏等放置事件,因为每个事件从Android框架维护事件队列先入先出(FIFO)基础上的队列。可以在程序中捕获这些事件,按要求并采取适当的动作
2023-02-28

javascript当键盘上某个按键被按下时触发此事件使用什么函数,详细讲解

摘要:JavaScript中,当键盘按键按下时触发事件,处理函数为keydown事件监听器。其语法为:element.addEventListener("keydown",function(event){...});event对象提供有关按键信息的属性,如key(按键名称)、keyCode(Unicode代码点)、shiftKey(Shift键状态)等。可以使用keydown事件监听器根据按下的键执行特定操作,如提交表单、触发搜索、阻止默认浏览器行为或聚焦元素。
javascript当键盘上某个按键被按下时触发此事件使用什么函数,详细讲解
2024-04-02

编程热搜

目录