使用JavaScript来绑定键盘事件时,有多种写法,而他们的实现效果实际上是等价的,下面一一来列举。

方式一:

function keyboard() {document.onkeydown = function() {let keycode = event.keyCode;if (keycode == 32) {alert("空格键被按下了");}}
}
keyboard();

随后我们执行这个函数,就可以实现键盘事件绑定。

代码中的event是一个对象,如果你打印event的话,会返回[object KeyboardEvent]

在事件发生时,浏览器会创建一个event对象,所有相关信息会收集并存储在该对象中。这些对象包含一些基本信息,比如导致事件的元素、发生的事件类型,以及可能与特定事件相关的任何其他数据。

在DOM合规的浏览器中,event对象是传给事件处理程序的唯一参数。不管以哪种方式指定事件处理程序,都会传入这个event对象。

event对象的keyCode属性会保存一个键码,对应键盘上特定一个键。方式一种的32,对应就是键盘中的空格键。

document.onkeydown来对用户敲击键盘事件进行监听,它需要绑定一个具体执行函数。比如方式一中的function函数,当键盘被按下时进行具体执行。但是代码这样写,理解起来不太直观,我们使用方式二来实现一下同样的功能。

方式二:

function keyboard(event) {let keycode = event.keyCode;if (keycode == 32) {alert("空格键被按下了")}
}//参数1:表示事件,keydown:键盘向下按;参数2:表示触发的事件处理函数
document.addEventListener("keydown", keyboard);

方式二实现的功能和方式一完全一样,但写成事件监听的方式理解起来要更为容易。

参考资料

[1] 《JavaScript高级程序设计(第四版)》
[2] 浏览器事件简介
[3] onkeydown 事件

JavaScript绑定键盘事件的多种写法相关推荐

  1. 详解在vue项目当中绑定键盘事件

    在vue项目当中,有时会遇到为文本输入框或者button按钮绑定键盘事件,最常见的就是enter回车事件. 按照vue官网给出的方法是: v-on:keyup.enter 简写: @keyup.ent ...

  2. 正确绑定键盘事件_事件为何重要以及如何正确处理

    正确绑定键盘事件 玛丽娜·佩奇 ( Marina Paych )在她的生日那天离开了一个非政府组织,开始了IT行业的新起点时,她是开源软件的新来者. 但是真正的惊喜竟然是开源. 快进两年了,这个组织发 ...

  3. vue绑定键盘事件 ctrl+enter触发事件

    公司项目(vue+element)有个需求,是在一个input输入内容后按下Enter键进行搜索查询,查询到得数据显示在表格,勾选表格的选中的数据进行提交(提交按钮的快捷键是Ctrl+Enter键盘) ...

  4. Javascript鼠标键盘事件

    鼠标事件 click:单击 dblclick:双击 mousedown:鼠标按下 mouseup:鼠标抬起 mouseover:鼠标悬浮 mouseout:鼠标离开 mousemove:鼠标移动 mo ...

  5. JavaScript 获取键盘事件(键盘某个按键被按下)

    键盘事件(Keyboard Events) 属性 值 描述 onkeydown script 当按下按键时运行脚本 onkeypress script 当按下并松开按键时运行脚本 onkeyup sc ...

  6. javascript之键盘事件onkeydown,onkeyup,onkeypress

    键盘事件 键盘事件一般绑定给document,以及一些可以获取焦点的标签,如input标签. onkeydown事件: 当键盘任意键按下时执行,按下不松,会不断执行. onkeyup事件: 当键盘任意 ...

  7. jQuery绑定键盘事件

    作者:lina791211-----感谢作者!! 雪影工作室版权所有,转载请注明[http://blog.csdn.net/lina791211] 1.前言 Jquery绑定各种键盘输入事件. 键值获 ...

  8. JavaScript的键盘事件

    键盘事件 keypress 当键盘键按下的过程 首先,按键被按下,然后, 按键被松开 keydown 当键盘键按下时,触发 Keyup 当键盘键松开时,触发 触发顺序 1.keypress键按下的过程 ...

  9. vue绑定键盘事件无效问题,vue绑定键盘delete事件示例,组合键绑定

    项目有个需求,点击某个组件,按delete健后删除,于是乎第一就是想到了键盘事件 @keyup.delete='deleteKeyup(e)' 可是按delete键试了半天都没反应,加了.native ...

最新文章

  1. C02-程序设计基础提高班(C++)第9周上机任务-类和对象
  2. 【HDU】1005 Number Sequence (有点可爱)
  3. Oracle SID爆破工具SidGuess
  4. c++ 中__declspec 的用法
  5. 计算代码重复率_了解了知网大学生论文查重原理,重复率想高于6%都难!
  6. rm: 无法删除swap: 不允许的操作_safe-rm老板再也不用担心我删库跑路啦[视频]
  7. java ocsp请求_java – 客户端证书上的OCSP吊销
  8. 拜托!代码有BUG不一定都是程序员的锅
  9. php之isset() 、empty()、is_null()的区别
  10. 中小学教师计算机应用,关于中小学教师计算机应用教育的思考
  11. 【Nginx探究系列二】Nginx配置篇之客户Nginx白名单访问配置
  12. 深度学习基础系列(六)| 权重初始化的选择
  13. 526个儿童游戏APP应用音效游戏声音集合音效素材 Kids Game Sound Effects
  14. 专辑:Redis视频教程
  15. 编程随想 关系图_邹军:想成为编程工程师,玩透数控宏程序编程,这里有一个大招分享给你...
  16. ppt上显示无法显示图片计算机可能,把手机里做好的PPT导入电脑,为何有些图片会显示不出来?该如何解决?...
  17. IntelliJ Keymap
  18. IT界最短的笑话:上中台!
  19. xpath中ends-with无法定位问题的解决办法
  20. Transcend带来4TB/8TB私人云储存解决方案Storejet

热门文章

  1. flowable对比
  2. 使用 sqlyog 导入导出数据显示 lost connection to mysql server during query
  3. 1. 青蛙跳跳FrogJmp Count minimal number of jumps from position X to Y.
  4. linux下查看文件夹的大小
  5. IE, FireFox, Opera 浏览器支持CSS实现Alpha半透明的方法
  6. MAX Script 脚本语言
  7. CSS3新的鼠标样式介绍
  8. VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION
  9. CNN卷积层图像和矩阵转换函数
  10. 【Deep Learning】Tensorflow实现线性回归