js监听键盘事件的方法_原生和jquery的区别详解


Posted in Javascript onOctober 10, 2016

经常需要监听键盘的事件,以便做更好的操作,基本原理是:监听全局键盘,每一个键盘,当用户按下某一按键时,返回对应的键值,然后再判断用户按下了哪一科按键,键值对应按键的名称在最下面列出,自行比对。去以下介绍两种不同的方式

原生键盘监听事件:按下一次按键,分为三个过程,按下—按住—松开

onkeydown:某个键被按下
onkeypress:某个键盘的键被按下或按住
onkeyup:某个键盘的键被松开

使用方法,一般来说,键盘监听是直接在整个页面文档上进行监听的,也就是document上

以下是原生的使用案例

//实际使用 
document.onkeydown=function(e){  //对整个页面文档监听 
var keyNum=window.event ? e.keyCode :e.which;  //获取被按下的键值 
//判断如果用户按下了回车键(keycody=13)
if(keyNum==13){ 
alert('您按下了回车'); 
} 
 
//判断如果用户按下了空格键(keycode=32), 
if(keyNum==32){ 
   alert('您按下了空格'); 
  }

剩下另外两个按键方法同理

jquery的方式监听键盘事件

jquery的也分为三个过程,但是在事件名称上有所不同

keyup:某个键盘的键被松开

keydown:某个键被按下

keypress:某个键盘的键被按下或按住

使用方法:

$(document).keyup(function(event){ 
       switch(event.keyCode) { 
       case 27: 
       alert('您按下了回车'); 
       return; 
       case 13: 
       alert('您按下了空格'); 
       return; 
     
       } 
 });

小总结:总体来说,这两种方式达到的效果都是一样的,只是由于jquery的获取对象更加简单,所以一般更推介使用jquery,当然,如果你有jquery基础的话。

以上就是小编为大家带来的js监听键盘事件的方法_原生和jquery的区别详解全部内容了,希望大家多多支持三水点靠木~

Javascript 相关文章推荐
基于jsTree的无限级树JSON数据的转换代码
Jul 27 Javascript
基于jQuery实现返回顶部实例代码
Jan 01 Javascript
javascript瀑布流布局实现方法详解
Feb 17 Javascript
JavaScript+html5 canvas实现图片破碎重组动画特效
Feb 22 Javascript
浅谈在js传递参数中含加号(+)的处理方式
Oct 11 Javascript
JS控制div跳转到指定的位置的几种解决方案总结
Nov 05 Javascript
Vue.js组件tab实现选项卡切换
Mar 23 Javascript
Vue-cli-webpack搭建斗鱼直播步骤详解
Nov 17 Javascript
关于vue v-for循环解决img标签的src动态绑定问题
Sep 18 Javascript
vue将单页面改造成多页面应用的方法
Nov 25 Javascript
JS实现数组去重及数组内对象去重功能示例
Feb 02 Javascript
vue相关配置文件详解及多环境配置详细步骤
May 19 Javascript
js 弹出虚拟键盘修改密码的简单实例
Oct 10 #Javascript
js捕捉键盘事件和按键键值的方法
Oct 10 #Javascript
js中获取键盘事件的简单实现方法
Oct 10 #Javascript
轻松实现jquery选项卡切换效果
Oct 10 #Javascript
为jQuery-easyui的tab组件添加右键菜单功能的简单实例
Oct 10 #Javascript
Javascript生成带参数的二维码示例
Oct 10 #Javascript
详细讲解JavaScript中的this绑定
Oct 10 #Javascript
You might like
php检测网页是否被百度收录的函数代码
2013/10/09 PHP
thinkphp3.2中Lite文件替换框架入口文件或应用入口文件的方法
2015/05/21 PHP
ECshop 迁移到 PHP7版本时遇到的兼容性问题
2016/02/15 PHP
Yii2中使用join、joinwith多表关联查询
2016/06/30 PHP
详解如何在云服务器上部署Laravel
2017/06/30 PHP
javascript 页面只自动刷新一次
2009/07/10 Javascript
扩展jquery实现客户端表格的分页、排序功能代码
2011/03/16 Javascript
jquery实现兼容浏览器的图片上传本地预览功能
2013/10/14 Javascript
document.forms[].submit()使用介绍
2014/02/19 Javascript
让浏览器DOM元素最后加载的js方法
2014/07/29 Javascript
JavaScript验证18位身份证号码最后一位正确性的实现代码
2014/08/07 Javascript
node.js中的path.extname方法使用说明
2014/12/09 Javascript
详解node HTTP请求客户端 - Request
2017/05/05 Javascript
js实现一个页面多个倒计时的3种方法
2019/02/25 Javascript
基于AngularJS拖拽插件ngDraggable.js实现拖拽排序功能
2019/04/02 Javascript
如何实现小程序tab栏下划线动画效果
2019/05/18 Javascript
微信小程序上传图片并等比列压缩到指定大小的实例代码
2019/10/24 Javascript
javascript实现多边形碰撞检测
2020/10/24 Javascript
在java中如何定义一个抽象属性示例详解
2017/08/18 Python
python判断完全平方数的方法
2018/11/13 Python
浅谈Scrapy网络爬虫框架的工作原理和数据采集
2019/02/07 Python
python 实现多线程下载m3u8格式视频并使用fmmpeg合并
2019/11/15 Python
如何基于Python实现数字类型转换
2020/02/07 Python
英国最受欢迎的价格比较网站之一:MoneySuperMarket
2018/12/19 全球购物
会议邀请书范文
2014/02/02 职场文书
优秀高中生事迹材料
2014/02/11 职场文书
总经理的岗位职责
2014/02/23 职场文书
汽车维修专业自荐书
2014/05/26 职场文书
授权委托书(法人单位用)
2014/09/29 职场文书
python实现Thrift服务端的方法
2021/04/20 Python
react如何快速设置文件路径别名
2021/04/28 Javascript
基于flask实现五子棋小游戏
2021/05/25 Python
详解Redis集群搭建的三种方式
2021/05/31 Redis
pytorch 预训练模型读取修改相关参数的填坑问题
2021/06/05 Python
Python访问Redis的详细操作
2021/06/26 Python
SQL Server删除表中的重复数据
2022/05/25 SQL Server