文档章节

JavaScript获取按键

IceRainYWC
 IceRainYWC
发布于 2015/05/20 11:04
字数 522
阅读 11
收藏 0

<html>

<head>

</head>

<body onkeyup="window.alert(showKeyName(event))">

按键测试,支持像 Ctrl+Alt+Shift+T 的组合键(注:非浏览器热键)

</body>

  <script type="text/javascript">

  function showKeyName(e){

    var keyName;

    switch(e.keyCode){

    case 8:keyName = e.keyCode+"[退格]";break;

    case 9:keyName = e.keyCode+"[Tab]";break;

    case 13:keyName = e.keyCode+"[Enter]";break;

    case 16:keyName = e.keyCode+"[Shift]";break;

    case 17:keyName = e.keyCode+"[Ctrl]";break;

    case 18:keyName = e.keyCode+"[Alt]";break;

    case 19:keyName = e.keyCode+"[PauseBreak]";break;

    case 20:keyName = e.keyCode+"[Caps Lock]";break;

    case 27:keyName = e.keyCode+"[Esc]";break;

    case 32:keyName = e.keyCode+"[空格]";break;

    case 33:keyName = e.keyCode+"[PageUp]";break;

    case 34:keyName = e.keyCode+"[PageDown]";break;

    case 35:keyName = e.keyCode+"[End]";break;

    case 36:keyName = e.keyCode+"[Home]";break;

    case 37:keyName = e.keyCode+"[方向键左]";break;

    case 38:keyName = e.keyCode+"[方向键上]";break;

    case 39:keyName = e.keyCode+"[方向键右]";break;

    case 40:keyName = e.keyCode+"[方向键下]";break;

    case 45:keyName = e.keyCode+"[Insert]";break;

    case 46:keyName = e.keyCode+"[Delete]";break;

    case 91:keyName = e.keyCode+"[左Win]";break;

    case 92:keyName = e.keyCode+"[右Win]";break;

    case 93:keyName = e.keyCode+"[快捷菜单键]";break;

    case 95:keyName = e.keyCode+"[Sleep]";break;

    case 96:keyName = e.keyCode+"[小键盘区0]";break;

    case 97:keyName = e.keyCode+"[小键盘区1]";break;

    case 98:keyName = e.keyCode+"[小键盘区2]";break;

    case 99:keyName = e.keyCode+"[小键盘区3]";break;

    case 100:keyName = e.keyCode+"[小键盘区4]";break;

    case 101:keyName = e.keyCode+"[小键盘区5]";break;

    case 102:keyName = e.keyCode+"[小键盘区6]";break;

    case 103:keyName = e.keyCode+"[小键盘区7]";break;

    case 104:keyName = e.keyCode+"[小键盘区8]";break;

    case 105:keyName = e.keyCode+"[小键盘区9]";break;

    case 106:keyName = e.keyCode+"[*]";break;

    case 107:keyName = e.keyCode+"[+]";break;

    case 109:keyName = e.keyCode+"[-]";break;

    case 110:keyName = e.keyCode+"[.]";break;

    case 111:keyName = e.keyCode+"[/]";break;

    case 112:keyName = e.keyCode+"[F1]";break;

    case 113:keyName = e.keyCode+"[F2]";break;

    case 114:keyName = e.keyCode+"[F3]";break;

    case 115:keyName = e.keyCode+"[F4]";break;

    case 116:keyName = e.keyCode+"[F5]";break;

    case 117:keyName = e.keyCode+"[F6]";break;

    case 118:keyName = e.keyCode+"[F7]";break;

    case 119:keyName = e.keyCode+"[F8]";break;

    case 120:keyName = e.keyCode+"[F9]";break;

    case 121:keyName = e.keyCode+"[F10]";break;

    case 122:keyName = e.keyCode+"[F11]";break;

    case 123:keyName = e.keyCode+"[F12]";break;

    case 144:keyName = e.keyCode+"[NumLock]";break;

    case 145:keyName = e.keyCode+"[ScrollLock]";break;

    case 186:keyName = e.keyCode+"[;]";break;

    case 187:keyName = e.keyCode+"[=]";break;

    case 188:keyName = e.keyCode+"[,]";break;

    case 189:keyName = e.keyCode+"[-]";break;

    case 190:keyName = e.keyCode+"[.]";break;

    case 191:keyName = e.keyCode+"[/]";break;

    case 192:keyName = e.keyCode+"[`]";break;

    case 219:keyName = e.keyCode+"[[]";break;

    case 220:keyName = e.keyCode+"[\\]";break;

    case 221:keyName = e.keyCode+"[]]";break;

    case 222:keyName = e.keyCode+"[']";break;

    //case 255:keyName = e.keyCode+"[Power]";break;

    case 255:keyName = e.keyCode+"[Wake]";break;

    default:keyName = e.keyCode+"[" + String.fromCharCode(e.keyCode) + "]";break;

    }

    if((e.shiftKey)&&(e.keyCode!=16)){keyName = e.keyCode+"[Shift] + " + keyName;}

    if((e.altKey)&&(e.keyCode!=18)){keyName = e.keyCode+"[Alt] + " + keyName;}

    if((e.ctrlKey)&&(e.keyCode!=17)){keyName = e.keyCode+"[Ctrl] + " + keyName;}

    return keyName;

  }

  </script>

</html>


本文转载自:http://www.cnblogs.com/zzcflying/articles/2660061.html

共有 人打赏支持
IceRainYWC
粉丝 13
博文 111
码字总数 49297
作品 0
石家庄
程序员
私信 提问
javascript键盘事件_javascript

[JavaScript]:e.which,e.charCode,e.keyCode 说明: charCode:对于 keypress 事件,该属性声明了被敲击的键生成的 Unicode 字符码。对于 keydown 和 keyup 事件,它指定了被敲击的键的虚拟键...

7LIB
2012/07/30
0
0
JavaScript零基础入门——(十三)JavaScript的事件

JavaScript零基础入门——(十三)JavaScript的事件 大家好,欢迎回到我们的JavaScript零基础入门。上一节课,我们了解了JavaScript定时器,也演示了一些比较经典的例子,其实我们已经用到了...

JandenMa
07/01
0
0
JavaScript 捕获按键

JavaScript 捕获按键 <html> <script language="javascript"> function test(event) { event = event || window.event; if(event.keyCode==13) { alert("你按了回车") } if(event.shiftKey=......

张超杰1
2014/02/10
0
0
几点建议帮你写出简洁的JS代码

译者按: 规范的代码可以有效避免代码bug,fundebug才会报警少一点! 原文: Tips for Writing Cleaner Code 译者: Fundebug 为了保证可读性,本文采用意译而非直译。另外,本文版权归原作者所...

Fundebug
2017/07/13
0
0
从Android到React Native开发(二、通信与模块实现)

大家吼,(◐‿◑)作为失踪人口回归,这次第二期,就让我们来怼React Native的通信,快速实现单独的React Native模块到APP里,愉悦吧骚年。至于为什么要有这期?当然是为了愉悦的飙车啦ε-...

carguo
08/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

数据解析之XPath & lxml库

XPath 定义 即XML路径语言(XML Path Language),是一种用来确定XML文档中某部分位置的语言,它基于XML的树状结构,提供在数据结构树中寻找节点的能力,也适用于HTML文档中; 开发工具 Chrome...

村雨1943
24分钟前
1
0
day148-2018-11-15-英语流利阅读-待学习

赴美生子恐结束?特朗普中期选举憋大招 毛西 2018-11-15 1.今日导读 在 2013 年,一部《北京遇上西雅图》让赴美生子这个曾经神秘的话题吸引了很多关注。每年,数以万计的父母远赴美国,并在那...

飞鱼说编程
54分钟前
30
0
OSChina 周四乱弹 —— 每次我穿短裙的时候

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @瘟神灬念 :分享DM DOKURO的单曲《Reality Check Through The Skull》: 差点以为手机卡了 《Reality Check Through The Skull》- DM DOKURO...

小小编辑
今天
455
10
Windows 10 设置 Java 环境变量

首先你需要在我的电脑中打开,找到环境变量属性。 找到环境变量属性 找到环境变量属性后单击将会看到下面的设置界面。 在这个界面中设置高级系统设置。 环境变量 在弹出的界面中选择设置环境...

honeymose
今天
4
0
用any-loader封装jQuery的XHR —— 随便写着玩系列

哎,都说没人用JQuery啦,叫你别写这个。 其实我也是好高骛远使用过npm上某个和某个很出名的XHR库,嗯,认识我的人都知道我喜欢喷JQ,以前天天喷,见面第一句,你还用JQ,赶紧丢了吧。但我也...

曾建凯
今天
14
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部