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 相关文章推荐
js静态作用域的功能。
Dec 25 Javascript
一个多次搜索+多次传值的解决方案
Jan 20 Javascript
javascript实现动态CSS换肤技术的脚本
Jun 29 Javascript
二级域名或跨域共享Cookies的实现方法
Aug 07 Javascript
JS判断页面加载状态以及添加遮罩和缓冲动画的代码
Oct 11 Javascript
JS阻止冒泡事件以及默认事件发生的简单方法
Jan 17 Javascript
yepnope.js使用详解及示例分享
Jun 23 Javascript
AngularJS ng-mousedown 指令
Aug 02 Javascript
easyui-edatagrid.js实现回车键结束编辑功能的实例
Apr 12 Javascript
集成vue到jquery/bootstrap项目的方法
Feb 10 jQuery
关于js对textarea换行符的处理方法浅析
Aug 03 Javascript
使用watch在微信小程序中实现全局状态共享
Jun 03 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
PHPLog php 程序调试追踪工具
2009/09/09 PHP
php面向对象全攻略 (一) 面向对象基础知识
2009/09/30 PHP
PHP得到mssql的存储过程的输出参数功能实现
2012/11/23 PHP
采用header定义为文件然后readfile下载(隐藏下载地址)
2014/01/31 PHP
Yii2增加验证码步骤详解
2016/04/25 PHP
深入理解PHP中的empty和isset函数
2016/05/26 PHP
通过Unicode转义序列来加密,按你说的可以算是混淆吧
2007/05/06 Javascript
javascript高亮效果的二种实现方法
2008/09/14 Javascript
JavaScrip单线程引擎工作原理分析
2010/09/04 Javascript
File, FileReader 和 Ajax 文件上传实例分析(php)
2011/04/27 Javascript
JS不间断向上滚动效果代码
2013/12/25 Javascript
jQuery学习笔记之 Ajax操作篇(三) - 过程处理
2014/06/23 Javascript
浅析四种常见的Javascript声明循环变量的书写方式
2015/10/14 Javascript
BootStrap中Datetimepicker和uploadify插件应用实例小结
2016/05/26 Javascript
Javascript DOM事件操作小结(监听鼠标点击、释放,悬停、离开等)
2017/01/20 Javascript
基于jQuery解决ios10以上版本缩放问题
2017/11/03 jQuery
结合mint-ui移动端下拉加载实践方法总结
2017/11/08 Javascript
微信小程序如何获取用户收货地址
2018/11/27 Javascript
详解如何使用nvm管理Node.js多版本
2019/05/06 Javascript
[01:46]DOTA2上海特锦赛小组赛英文解说KotlGuy采访
2016/02/27 DOTA
Python验证码识别的方法
2015/07/10 Python
Python数据结构与算法之列表(链表,linked list)简单实现
2017/10/30 Python
Python网络编程基于多线程实现多用户全双工聊天功能示例
2018/04/10 Python
Python离线安装PIL 模块的方法
2019/01/08 Python
浅谈numpy中函数resize与reshape,ravel与flatten的区别
2020/06/18 Python
python如何导入依赖包
2020/07/13 Python
详解python polyscope库的安装和例程
2020/11/13 Python
弘扬职业精神演讲稿
2014/03/20 职场文书
药品营销策划方案
2014/06/15 职场文书
乡镇党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
协议书范文
2015/01/27 职场文书
2015年城乡环境综合治理工作总结
2015/07/24 职场文书
2019数学教师下学期工作总结
2019/06/27 职场文书
mybatis源码解读之executor包语句处理功能
2022/02/15 Java/Android
vue项目如何打包之项目打包优化(让打包的js文件变小)
2022/04/30 Vue.js
Flink 侧流输出源码示例解析
2022/09/23 Servers