文档章节

兼容各个浏览器实现键盘响应事件

自由的角马
 自由的角马
发布于 2015/01/10 13:57
字数 931
阅读 9
收藏 0

原文:http://blog.csdn.net/shenzhennba/article/details/7344914

前端开发中, 响应键盘事件是经常用到的, 而且要求兼容各个浏览器, 方便用到是直接参考就可以了,微笑下面就用 JS 实现一个兼容各个浏览器的通用响应键盘事件的函数:

function xKeyEvent(e){   //通用的兼容各个浏览器的响应键盘事件函数
//FUNCTION: do the EVENT of KEY 
var e = e || window.event;  //事件处理
switch(e.keyCode | e.which | e.charCode)  //按键 ASCII 码值
    {
     case 8: //响应退格键
          {
          //...x operation...		  
          break;
          }

     case 9: //响应Tab键
          {
          //...x operation...		 
          break;
          }

     case 16: //响应Shift键
          {
          //...x operation...		
          break;
          }

     case 17: //响应Ctrl键
          {
          //...x operation...		
          break;
          }

     case 18: //响应Alt键
          {
          //...x operation...		 
          break;
          }

     case 20: //响应Caps Lock键
          {
          //...x operation...		
          break;
          }

     case 27: //响应Esc键
          {
          //...x operation...		  
          break;
          }

     case 32: //响应空格键
          {
          //...x operation...		 
          break;
          }

     case 33: //响应PageUp键
          {
          //...x operation...		 
          break;
          }

     case 34: //响应PageDown键
          {
          //...x operation...		  
          break;
          }

     case 35: //响应End键
          {
          //...x operation...		 
          break;
          }

     case 36: //响应Home键
          {
          //...x operation...		 
          break;
          }
		  
     case 37: //向左方向键
          {
          //...x operation...		
          break;
          }

     case 38: //向上方向键
          {
          //...x operation...		 
          break;
          }

     case 39: //向右方向键
          {
          //...x operation...		 
          break;
          }

     case 40: //向下方向键
          {
          //...x operation...		 
          break;
          }

     case 45: //响应Insert键
          {
          //...x operation...		  
          break;
          }

     case 46: //响应Delete键
          {
          //...x operation...		  
          break;
          }
		  
     case 48: //响应 0 键, // 0 --9 对应的ASCII码值 48 -- 57
          {
          //...x operation...		  
          break;
          }
		  
     case 49: //响应 1 键, // 0 --9 对应的ASCII码值 48 -- 57
          {
          //...x operation...		 
          break;
          }
		  
     case 50: //响应 2 键, // 0 --9 对应的ASCII码值 48 -- 57
          {
          //...x operation...		
          break;
          }
		  
     case 51: //响应 3 键, // 0 --9 对应的ASCII码值 48 -- 57
          {
          //...x operation...		 
          break;
          }
		  
     case 52: //响应 4 键, // 0 --9 对应的ASCII码值 48 -- 57
          {
          //...x operation...		  
          break;
          }
		  
     case 53: //响应 5 键, // 0 --9 对应的ASCII码值 48 -- 57
          {
          //...x operation...		  
          break;
          }
		  
     case 54: //响应 6 键, // 0 --9 对应的ASCII码值 48 -- 57
          {
          //...x operation...		  
          break;
          }

     case 55: //响应 7 键, // 0 --9 对应的ASCII码值 48 -- 57
          {
          //...x operation...		  
          break;
          }
		  
     case 56: //响应 8 键, // 0 --9 对应的ASCII码值 48 -- 57
          {
          //...x operation...		 
          break;
          }
		  
     case 57: //响应 9 键, // 0 --9 对应的ASCII码值 48 -- 57
          {
          //...x operation...		 
          break;
          }

     case 65: //响应 a 键, //a -- z, 对应的ASCII码值 65 -- 90
          {
          //...x operation...		
          break;
          }
		  
     case 90: //响应 z 键, //a -- z, 对应的ASCII码值 65 -- 90
          {
          //...x operation...
		 
          break;
          }

     case 91: //响应左WIN键
          {
          //...x operation...		  
          break;
          }

     case 92: //响应右WIN键
          {
          //...x operation...		 
          break;
          }
		  
     case 96: //小键盘区0	//小键盘区0--9对应键值 96--105
          {
          //...x operation...		
          break;
          }
		  
     case 105: //小键盘区9	//小键盘区0--9对应键值 96--105
          {
          //...x operation...		
          break;
          }

     case 112: //响应F1键 //码112--123对应F1--F12
          {
          //...x operation...		  
          break;
          }
		  
     case 113: //响应F2键 // 码112--123对应F1--F12
          {
          //...x operation...		 
          break;
          }
		  
     case 114: //响应F3键 // 码112--123对应F1--F12
          {
          //...x operation...		  
          break;
          }
		  
     case 115: //响应F4键 //码112--123对应F1--F12
          {
          //...x operation...		 
          break;
          }
		  
     case 116: //响应F5键 //码112--123对应F1--F12
          {
          //...x operation...		 
          break;
          }
		  
     case 117: //响应F6键 // 码112--123对应F1--F12
          {
          //...x operation...		 
          break;
          }

     case 118: //响应F7键 // 码112--123对应F1--F12
          {
          //...x operation...		
          break;
          }
		  
     case 119: //响应F8键 //码112--123对应F1--F12
          {
          //...x operation...		 
          break;
          }
		  
     case 120: //响应F9键 //码112--123对应F1--F12
          {
          //...x operation...		
          break;
          }
		  
     case 121: //响应F10键 //码112--123对应F1--F12
          {
          //...x operation...		
          break;
          }
		  
     case 122: //响应F11键 //码112--123对应F1--F12
          {
          //...x operation...		 
          break;
          }
		  
     case 123: //响应F12键 //码112--123对应F1--F12
          {
          //...x operation...		
          break;
          }

     case 144: //响应 NumLock 键 
          {
          //...x operation...		 
          break;
          }

     case 145: //响应 ScrollLock 键 
          {
          //...x operation...		
          break;
          }

     case 186: //响应 ScrollLock 键 
          {
          //...x operation...		
          break;
          }
		  
     case 187: //响应 等号 键 
          {
          //...x operation...		
          break;
          }

     case 188: //响应 逗号 键 
          {
          //...x operation...		
          break;
          }

     case 189: //响应 减号 键 
          {
          //...x operation...		
          break;
          }
		  
     case 190: //响应 点号 键 
          {
          //...x operation...		
          break;
          }
		  
     case 191: //响应 正斜杠 键 
          {
          //...x operation...		  
          break;
          }

     case 192: //响应 (前导点号)` 键 
          {
          //...x operation...		
          break;
          }

     case 219: //响应 [ 键 
          {
          //...x operation...		
          break;
          }
		  
     case 220: //响应 \ 键 
          {
          //...x operation...		
          break;
          }

     case 221: //响应 ] 键 
          {
          //...x operation...		
          break;
          }

     case 13: //响应回车键
          {
          //...x operation...		
          break;
          }
     default:
	  //...default operation...	
    }
}

2, 引用:
<input type="text" name="inputx" id="inputx"  onKeyPress="javascript:xKeyEvent(event);" >

本文转载自:http://blog.csdn.net/luoweifu/article/details/38385257

自由的角马
粉丝 1
博文 269
码字总数 0
作品 0
文山
私信 提问
[IBM DW] 使用 Dojo 开发菜单应用

背景介绍 菜单应用是 Web 页面的点睛之笔。当用户在浏览器端右键单击的时候,浏览器会弹出自带的菜单,显示如“查看源代码”、“复制”、“粘贴”等可用菜单栏。通过使用浏览器自带 的菜单,...

红薯
2010/10/19
1K
0
Mac OSX 鼠标键盘事件的监听和模拟

最近完成了 Mac OSX 平台下的远程控制功能,期间找了不少资料,这里做个总结,主要涉及到一下知识点: OSX 的事件机制 OSX/iOS 响应链者链 鼠标事件的监听及模拟(鼠标单击、双击、拖动、滚动...

topws1
2018/10/12
0
0
移动端兼容问题注意事项

1. IOS移动端click事件300ms的延迟响应 移动设备上的web网页有300ms延迟,有时会造成按钮点击延迟或者点击失效。 苹果为了将适用于PC端大屏幕的网页能较好的展示在手机端上,使用了双击缩放(...

kouxiaomou
2017/02/23
0
0
JavaScript---事件绑定方式(传递参数)

事件绑定方式:将对html元素或窗口的操作绑定给响应函数的方式。共四种 Html级别绑定 符合DOM0 级的事件绑定方式 符合DOM2 Html级别绑定 无法设置事件流 符合DOM0 级的事件绑定方式 将响应程...

奋斗的小芋头
2016/12/06
507
0
移动端才坑注意事项

IOS移动端click事件300ms的延迟响应 移动设备上的web网页是有300ms延迟的,玩玩会造成按钮点击延迟甚至是点击失效。这是由于区分单击事件和双击屏幕缩放的历史原因造成的, 2007年苹果发布首款...

Billydotzhang
2016/11/11
304
0

没有更多内容

加载失败,请刷新页面

加载更多

java发送html模板的高逼格邮件

最近做了一个监测k8s服务pod水平伸缩发送邮件的功能(当pod的cpu/内存达到指定阈值后会水平扩展出多个pod、或者指定时间内pod数应扩展到指定数量),一开始写了个格式很low的邮件,像下面这样...

码农实战
14分钟前
5
0
php-fpm配置文件详解/MariaDB密码重置、慢查询日志

来源:https://blog.csdn.net/Powerful_Fy php-fpm主配置文件路径:/usr/local/php-fpm/etc/php-fpm.conf #位于安装php安装目录下的etc/目录中,该文件中最后一行将配置文件指向:include=/...

asnfuy
19分钟前
3
0
川普给埃尔多安和内堪尼亚胡的信

任性 https://twitter.com/netanyahu/status/1186647558401253377 https://edition.cnn.com/2019/10/16/politics/trump-erdogan-letter/index.htm...

Iridium
40分钟前
12
0
golang-mysql-原生

db.go package mainimport ("database/sql""time"_ "github.com/go-sql-driver/mysql")var (db *sql.DBdsn = "root:123456@tcp(127.0.0.1:3306)/test?charset=u......

李琼涛
今天
5
0
编程作业20191021092341

1编写一个程序,把用分钟表示的时间转换成用小时和分钟表示的时 间。使用#define或const创建一个表示60的符号常量或const变量。通过while 循环让用户重复输入值,直到用户输入小于或等于0的值...

1李嘉焘1
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部