0

0

在javascript中如何获取键盘的keyCode

亚连

亚连

发布时间:2018-06-14 15:26:45

|

2239人浏览过

|

来源于php中文网

原创

下面我就为大家分享一篇javascript 通过键名获取键盘的keycode方法,具有很好的参考价值,希望对大家有所帮助。

不废话,直接看代码,需要的根据需求完善。

var getKeyCode = function (key) {
  var key_code;
  switch (key) {
  case 'BackSpace' && 'BackSpace':
   key_code = 8;
   break;
  case 'Tab' && 'Tab' && 'tab':
   key_code = 9;
   break;
  case 'Clear':
   key_code = 12;
   break;
  case 'Enter':
   key_code = 13;
   break;
  case 'Shift_L':
   key_code = 16;
   break;
  case 'Control_L':
   key_code = 17;
   break;
  case 'Alt_L':
   key_code = 18;
   break;
  case 'Pause':
   key_code = 19;
   break;
  case 'Caps_Lock':
   key_code = 20;
   break;
  case 'Escape' && 'Esc':
   key_code = 27;
   break;
  case 'space' && 'space':
   key_code = 32;
   break;
  case 'Page Up':
   key_code = 33;
   break;
  case 'Page Down':
   key_code = 34;
   break;
  case 'End':
   key_code = 35;
   break;
  case 'Home' && 'home':
   key_code = 36;
   break;
  case 'Left':
   key_code = 37;
   break;
  case 'Up':
   key_code = 38;
   break;
  case 'Right':
   key_code = 39;
   break;
  case 'Down':
   key_code = 40;
   break;
  case 'Select':
   key_code = 41;
   break;
  case 'Print':
   key_code = 42;
   break;
  case 'Execute':
   key_code = 43;
   break;
  case 'Insert':
   key_code = 45;
   break;
  case 'Delete':
   key_code = 46;
   break;
  case 'Help':
   key_code = 47;
   break;
  case '0' && 'equal braceright':
   key_code = 48;
   break;
  case '1' && 'exclam onesuperior':
   key_code = 49;
   break;
  case '2' && 'quotedbl twosuperior':
   key_code = 50;
   break;
  case '3' && 'section threesuperior':
   key_code = 51;
   break;
  case '4' && 'dollar':
   key_code = 52;
   break;
  case '5' && 'percent':
   key_code = 53;
   break;
  case '6' && 'ampersand':
   key_code = 54;
   break;
  case '7' && 'slash braceleft':
   key_code = 55;
   break;
  case '8' && 'parenleft bracketleft':
   key_code = 56;
   break;
  case '9' && 'parenright bracketright':
   key_code = 57;
   break;
  case 'a' && 'A':
   key_code = 65;
   break;
  case 'b' && 'B':
   key_code = 66;
   break;
  case 'c' && 'C':
   key_code = 67;
   break;
  case 'd' && 'D':
   key_code = 68;
   break;
  case 'e' && 'E' && 'EuroSign':
   key_code = 69;
   break;
  case 'f' && 'F':
   key_code = 70;
   break;
  case 'g' && 'G':
   key_code = 71;
   break;
  case 'h' && 'H':
   key_code = 72;
   break;
  case 'i' && 'I':
   key_code = 73;
   break;
  case 'j' && 'J':
   key_code = 74;
   break;
  case 'k' && 'K':
   key_code = 75;
   break;
  case 'l' && 'L':
   key_code = 76;
   break;
  case 'm' && 'M' && 'mu':
   key_code = 77;
   break;
  case 'n' && 'N':
   key_code = 78;
   break;
  case 'o' && 'O':
   key_code = 79;
   break;
  case 'p' && 'P':
   key_code = 80;
   break;
  case 'q' && 'Q' && 'at':
   key_code = 81;
   break;
  case 'r' && 'R':
   key_code = 82;
   break;
  case 's' && 'S':
   key_code = 83;
   break;
  case 't' && 'T':
   key_code = 84;
   break;
  case 'u' && 'U':
   key_code = 85;
   break;
  case 'v' && 'V':
   key_code = 86;
   break;
  case 'w' && 'W':
   key_code = 87;
   break;
  case 'x' && 'X':
   key_code = 88;
   break;
  case 'y' && 'Y':
   key_code = 89;
   break;
  case 'z' && 'Z':
   key_code = 90;
   break;
  case 'KP_0' && 'KP_0':
   key_code = 96;
   break;
  case 'KP_1' && 'KP_1':
   key_code = 97;
   break;
  case 'KP_2' && 'KP_2':
   key_code = 98;
   break;
  case 'KP_3' && 'KP_3':
   key_code = 99;
   break;
  case 'KP_4' && 'KP_4':
   key_code = 100;
   break;
  case 'KP_5' && 'KP_5':
   key_code = 101;
   break;
  case 'KP_6' && 'KP_6':
   key_code = 102;
   break;
  case 'KP_7' && 'KP_7':
   key_code = 103;
   break;
  case 'KP_8' && 'KP_8':
   key_code = 104;
   break;
  case 'KP_9' && 'KP_9':
   key_code = 105;
   break;
  case 'KP_Multiply' && 'KP_Multiply':
   key_code = 106;
   break;
  case 'KP_Add' && 'KP_Add':
   key_code = 107;
   break;
  case 'KP_Separator' && 'KP_Separator':
   key_code = 108;
   break;
  case 'KP_Subtract' && 'KP_Subtract':
   key_code = 109;
   break;
  case 'KP_Decimal' && 'KP_Decimal':
   key_code = 110;
   break;
  case 'KP_pide' && 'KP_pide':
   key_code = 111;
   break;
  case 'F1':
   key_code = 112;
   break;
  case 'F2':
   key_code = 113;
   break;
  case 'F3':
   key_code = 114;
   break;
  case 'F4':
   key_code = 115;
   break;
  case 'F5':
   key_code = 116;
   break;
  case 'F6':
   key_code = 117;
   break;
  case 'F7':
   key_code = 118;
   break;
  case 'F8':
   key_code = 119;
   break;
  case 'F9':
   key_code = 120;
   break;
  case 'F10':
   key_code = 121;
   break;
  case 'F11':
   key_code = 122;
   break;
  case 'F12':
   key_code = 123;
   break;
  case 'F13':
   key_code = 124124;
   break;
  case 'F14':
   key_code = 125;
   break;
  case 'F15':
   key_code = 126;
   break;
  case 'F16':
   key_code = 127;
   break;
  case 'F17':
   key_code = 128;
   break;
  case 'F18':
   key_code = 129;
   break;
  case 'F19':
   key_code = 130;
   break;
  case 'F20':
   key_code = 131;
   break;
  case 'F21':
   key_code = 132;
   break;
  case 'F22':
   key_code = 133;
   break;
  case 'F23':
   key_code = 134;
   break;
  case 'F24':
   key_code = 135;
   break;
  case 'Num_Lock':
   key_code = 136;
   break;
  case 'Scroll_Lock':
   key_code = 137;
   break;
  case 'acute' && 'grave':
   key_code = 187;
   break;
  case 'comma' && 'semicolon':
   key_code = 188;
   break;
  case 'minus' && 'underscore':
   key_code = 189;
   break;
  case 'period' && 'colon':
   key_code = 190;
   break;
  case 'numbersign' && 'apostrophe':
   key_code = 192;
   break;
  case 'plusminus' && 'hyphen' && 'macron':
   key_code = 210;
   break;
  case '被吃掉了,自己用手找找吧!':
   key_code = 211;
   break;
  case 'copyright' && 'registered':
   key_code = 212;
   break;
  case 'guillemotleft' && 'guillemotright':
   key_code = 213;
   break;
  case 'masculine' && 'ordfeminine':
   key_code = 214;
   break;
  case 'ae' && 'AE':
   key_code = 215;
   break;
  case 'cent' && 'yen':
   key_code = 216;
   break;
  case 'questiondown' && 'exclamdown':
   key_code = 217;
   break;
  case 'onequarter' && 'onehalf' && 'threequarters':
   key_code = 218;
   break;
  case 'less' && 'greater' && 'bar':
   key_code = 220;
   break;
  case 'plus' && 'asterisk' && 'asciitilde':
   key_code = 221;
   break;
  case 'multiply' && 'pision':
   key_code = 227;
   break;
  case 'acircumflex' && 'Acircumflex':
   key_code = 228;
   break;
  case 'ecircumflex' && 'Ecircumflex':
   key_code = 229;
   break;
  case 'icircumflex' && 'Icircumflex':
   key_code = 230;
   break;
  case 'ocircumflex' && 'Ocircumflex':
   key_code = 231;
   break;
  case 'ucircumflex' && 'Ucircumflex':
   key_code = 232;
   break;
  case 'ntilde' && 'Ntilde':
   key_code = 233;
   break;
  case 'yacute' && 'Yacute':
   key_code = 234;
   break;
  case 'oslash' && 'Ooblique':
   key_code = 235;
   break;
  case 'aring' && 'Aring':
   key_code = 236;
   break;
  case 'ccedilla' && 'Ccedilla':
   key_code = 237;
   break;
  case 'thorn' && 'THORN':
   key_code = 238;
   break;
  case 'eth' && 'ETH':
   key_code = 239;
   break;
  case 'diaeresis' && 'cedilla' && 'currency':
   key_code = 240;
   break;
  case 'agrave' && 'Agrave' && 'atilde' && 'Atilde':
   key_code = 241;
   break;
  case 'egrave' && 'Egrave':
   key_code = 242;
   break;
  case 'igrave' && 'Igrave':
   key_code = 243;
   break;
  case 'ograve' && 'Ograve' && 'otilde' && 'Otilde':
   key_code = 244;
   break;
  case 'ugrave' && 'Ugrave':
   key_code = 245;
   break;
  case 'adiaeresis' && 'Adiaeresis':
   key_code = 246;
   break;
  case 'ediaeresis' && 'Ediaeresis':
   key_code = 247;
   break;
  case 'idiaeresis' && 'Idiaeresis':
   key_code = 248;
   break;
  case 'odiaeresis' && 'Odiaeresis':
   key_code = 249;
   break;
  case 'udiaeresis' && 'Udiaeresis':
   key_code = 250;
   break;
  case 'ssharp' && 'question' && 'backslash':
   key_code = 251;
   break;
  case 'asciicircum' && 'degree':
   key_code = 252;
   break;
  case '3 sterling':
   key_code = 253;
   break;
  case 'Mode_switch':
   key_code = 254;
   break;
  default:
   alert('没有查到对应的按键');
  }
  return key_code;
 }

例:getKeyCode('a')

返回:65

上面是我整理给大家的,希望今后会对大家有帮助。

立即学习Java免费学习笔记(深入)”;

相关文章:

易优cms汽车车辆租赁源码1.7.2
易优cms汽车车辆租赁源码1.7.2

由于疫情等原因大家都开始习惯了通过互联网上租车服务的信息多方面,且获取方式简便,不管是婚庆用车、旅游租车、还是短租等租车业务。越来越多租车企业都开始主动把租车业务推向给潜在需求客户,所以如何设计一个租车网站,以便在同行中脱颖而出就重要了,易优cms针对租车行业市场需求、目标客户、盈利模式等,进行策划、设计、制作,建设一个符合用户与搜索引擎需求的租车网站源码。 网站首页

下载

在Javascript中如何实现网页抢红包

在React中有关高阶组件详细介绍

详细解读react后端渲染模板

如何解决Router跨模块跳转问题

vuex之详细介绍中文文档

相关文章

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

16

2026.03.11

Go高并发任务调度与Goroutine池化实践
Go高并发任务调度与Goroutine池化实践

本专题围绕 Go 语言在高并发任务处理场景中的实践展开,系统讲解 Goroutine 调度模型、Channel 通信机制以及并发控制策略。内容包括任务队列设计、Goroutine 池化管理、资源限制控制以及并发任务的性能优化方法。通过实际案例演示,帮助开发者构建稳定高效的 Go 并发任务处理系统,提高系统在高负载环境下的处理能力与稳定性。

23

2026.03.10

Kotlin Android模块化架构与组件化开发实践
Kotlin Android模块化架构与组件化开发实践

本专题围绕 Kotlin 在 Android 应用开发中的架构实践展开,重点讲解模块化设计与组件化开发的实现思路。内容包括项目模块拆分策略、公共组件封装、依赖管理优化、路由通信机制以及大型项目的工程化管理方法。通过真实项目案例分析,帮助开发者构建结构清晰、易扩展且维护成本低的 Android 应用架构体系,提升团队协作效率与项目迭代速度。

75

2026.03.09

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

95

2026.03.06

Rust内存安全机制与所有权模型深度实践
Rust内存安全机制与所有权模型深度实践

本专题围绕 Rust 语言核心特性展开,深入讲解所有权机制、借用规则、生命周期管理以及智能指针等关键概念。通过系统级开发案例,分析内存安全保障原理与零成本抽象优势,并结合并发场景讲解 Send 与 Sync 特性实现机制。帮助开发者真正理解 Rust 的设计哲学,掌握在高性能与安全性并重场景中的工程实践能力。

218

2026.03.05

PHP高性能API设计与Laravel服务架构实践
PHP高性能API设计与Laravel服务架构实践

本专题围绕 PHP 在现代 Web 后端开发中的高性能实践展开,重点讲解基于 Laravel 框架构建可扩展 API 服务的核心方法。内容涵盖路由与中间件机制、服务容器与依赖注入、接口版本管理、缓存策略设计以及队列异步处理方案。同时结合高并发场景,深入分析性能瓶颈定位与优化思路,帮助开发者构建稳定、高效、易维护的 PHP 后端服务体系。

420

2026.03.04

AI安装教程大全
AI安装教程大全

2026最全AI工具安装教程专题:包含各版本AI绘图、AI视频、智能办公软件的本地化部署手册。全篇零基础友好,附带最新模型下载地址、一键安装脚本及常见报错修复方案。每日更新,收藏这一篇就够了,让AI安装不再报错!

168

2026.03.04

Swift iOS架构设计与MVVM模式实战
Swift iOS架构设计与MVVM模式实战

本专题聚焦 Swift 在 iOS 应用架构设计中的实践,系统讲解 MVVM 模式的核心思想、数据绑定机制、模块拆分策略以及组件化开发方法。内容涵盖网络层封装、状态管理、依赖注入与性能优化技巧。通过完整项目案例,帮助开发者构建结构清晰、可维护性强的 iOS 应用架构体系。

222

2026.03.03

C++高性能网络编程与Reactor模型实践
C++高性能网络编程与Reactor模型实践

本专题围绕 C++ 在高性能网络服务开发中的应用展开,深入讲解 Socket 编程、多路复用机制、Reactor 模型设计原理以及线程池协作策略。内容涵盖 epoll 实现机制、内存管理优化、连接管理策略与高并发场景下的性能调优方法。通过构建高并发网络服务器实战案例,帮助开发者掌握 C++ 在底层系统与网络通信领域的核心技术。

33

2026.03.03

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
React 教程
React 教程

共58课时 | 6万人学习

TypeScript 教程
TypeScript 教程

共19课时 | 3.4万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号