文档章节

JavaScript获取按键

luke0202
 luke0202
发布于 2015/05/20 11:04
字数 522
阅读 114
收藏 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>


luke0202
粉丝 13
博文 111
码字总数 49297
作品 0
石家庄
程序员
私信 提问
加载中
请先登录后再评论。
Javascript图元绘制库--ternlight

基于HTML CANVAS API的Javascript库,提供在HTML页面上绘制图元——如流程图的能力。 目前已支持简单的矩形图元和图元间的连线(直线、直角连线两种),拖拽图元等能力。 该javascript librar...

fancimage1
2013/02/07
6.3K
1
JavaScript 服务器页--JSSP

JSSP (JavaScript Server Pages) 可以让你在 Java 的应用服务器上使用 JavaScript 生成网页。支持已有的 Java 包和嵌入式 SQL 命令。包含 Dervish 这个 JavaScript 交互操作包用于简化 Ajax...

匿名
2013/02/11
3.8K
0
Promises/A 和 when() 实现--When.js

When.js 是 cujojs 的轻量级的 Promises/A 和 when() 实现,从 wire.js 的异步核心和 cujojs 的 IOC 容器派生而来。包含很多其他有用的 Promiss 相关概念,例如联合多个 promiss、mapping 和...

匿名
2013/02/15
7.5K
0
JavaScript 声效库--SFX.js

sfx.js 是一个简单的声效封装 JavaScript 包。示例: var sfxObject = new SFX( 'sound_effects/{{type}}' ); 支持: Chrome: OGG + MP3 Opera: OGG Firefox: OGG Safari: MP3 IE9: MP3......

匿名
2013/02/18
1.1K
0
JS框架--Cyer

Cyer是一个轻量、小巧的js框架,精简易懂的API设计,支持链式调用,有点jQuery的味道。核心部分为选择器(selector)、dom操作、event机制。暂不支持animate功能。版本更新到v1.0.3,增加domRe...

黄昌运
2013/03/06
2.1K
0

没有更多内容

加载失败,请刷新页面

加载更多

大数据研发学习之路--Hadoop集群搭建

阅读编译文档 准备一个hadoop源码包,我选择的hadoop版本是:hadoop-2.7.7-src.tar.gz,在hadoop-2.7.7的源码 包的根目录下有一个文档叫做BUILDING.txt,这其中说明了编译hadoop所需要的一些...

DSJ-shitou
56分钟前
8
0
OSChina 周五乱弹 —— 特么是别的公司派来的特洛伊木马吧?

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 小小编辑推荐:《我会守在这里》- 毛不易 《我会守在这里》- 毛不易 手机党少年们想听歌,请使劲儿戳(这里) @FalconChen :股市连跪了五天,...

小小编辑
57分钟前
59
2
如何在find中排除目录。命令 - How to exclude a directory in find . command

问题: I'm trying to run a find command for all JavaScript files, but how do I exclude a specific directory? 我正在尝试为所有JavaScript文件运行find命令,但是如何排除特定目录? ......

法国红酒甜
今天
73
0
《Java8实战》笔记(02):通过行为参数传递代码

本文源码 应对不断变化的需求 通过筛选苹果阐述通过行为参数传递代码 初试牛刀:筛选绿苹果 public static List<Apple> filterGreenApples(List<Apple> inventory){List<Apple> result = ......

巨輪
今天
19
0
JeeSite 4 架构特点、安全方面、为什么好、工匠精神、不忘初心

1、底层架构 以 Spring Boot 2 为基础,Maven 多项目依赖,模块分项目,松耦合,方便模块升级、增减模块。 模块化的数据库自动升级程序,当模块升级代码需要更新数据库时,自动执行对应版本 ...

ThinkGem
昨天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部