js学习笔记之:键盘应用
为了方便用户操作,可以为用户设置(或者屏蔽)功能键,代替使用频率比较高的操作。本次,将学习一下基本的功能键使用方法、键盘和焦点使用、屏蔽按键等知识点,以及一些相关示例;
1 设置按键功能:
功能键主要是通过设置键盘值来实现的,其js函数为:event.keyCode,要判断用户使用的哪个功能键,实际就是判断当前的按键值;
示例: 如果用户是否按下的是“F8”健,指定当前首页为百度:
function goHome(){
if(event.keyCode == 119){ //判断按键是否是F8,F8的键盘值为119
document.location.href="http://www.baidu.com"; //指定首页
}
}
2 实现Tab功能:
在很多CS程序中, 通过Tab健来切换表单的焦点,在一些快速输入系统中(例如处方系统)用Enter健来实现Tab的功能,能有效提高用户的输入速度;
function changeFocus(){
if(event.keyCode == 13){ //判断按键是否是Enter健
event.keyCode =9; //执行Tab健功能;
}
}
3 组合键的使用
在很多程序中,用到一些组合键,例如QQ发送信息的时候,可以使用Ctrl+Enter提交;
funtion ctlEnt(eventboject){
if(event.ctrlKey && window.event.keyCode == 13){ //event.ctrlKey可以用来判断是否使用了Ctrl健
this.document.form1.submit();
}
}
4 屏蔽功能键
屏蔽功能键的方法是使用event.returnValue = false来操作,含义为不执行任何操作,
例1: 屏蔽退格键 BackSpace
document.onkeydown = function(){
if(event.keyCode == 8){ //判断当前操作是否是退格键
if(event.srcElement.tagName.toLowerCase()=="textarea"){ //判断当前操作是否在textarea中发生
event.returnValue = false; //不执行任何操作
}
}
}
例2: 屏蔽键盘所有按键
当event.keyCode =0;时, 忽略所有按键
function document.onkeydown(){
event.keyCode = 0;
event.returnvalue = false;
}
附属 :详细的键值表:
常数名称 | 十六进制值 | 十进制值 | 对应按键 |
VK_LBUTTON | 01 | 1 | 鼠标的左键 |
VK_RBUTTON | 02 | 2 | 鼠标的右键 |
VK-CANCEL | 03 | 3 | Ctrl+Break(通常不需要处理) |
VK_MBUTTON | 04 | 4 | 鼠标的中键(三按键鼠标) |
VK_BACK | 08 | 8 | Backspace键 |
VK_TAB | 09 | 9 | Tab键 |
VK_CLEAR | 0C | 12 | Clear键(Num Lock关闭时的数字键盘5) |
VK_RETURN | 0D | 13 | Enter键 |
VK_SHIFT | 10 | 16 | Shift键 |
VK_CONTROL | 11 | 17 | Ctrl键 |
VK_MENU | 12 | 18 | Alt键 |
VK_PAUSE | 13 | 19 | Pause键 |
VK_CAPITAL | 14 | 20 | Caps Lock键 |
VK_ESCAPE | 1B | 27 | Ese键 |
VK_SPACE | 20 | 32 | Spacebar键 |
VK_PRIOR | 21 | 33 | Page Up键 |
VK_NEXT | 22 | 34 | Page Domw键 |
VK_END | 23 | 35 | End键 |
VK_HOME | 24 | 36 | Home键 |
VK_LEFT | 25 | 37 | LEFT ARROW 键(←) |
VK_UP | 26 | 38 | UP ARROW键(↑) |
VK_RIGHT | 27 | 39 | RIGHT ARROW键(→) |
VK_DOWN | 28 | 40 | DOWN ARROW键(↓) |
VK_Select | 29 | 41 | Select键 |
VK_PRINT | 2A | 42 | |
VK_EXECUTE | 2B | 43 | EXECUTE键 |
VK_SNAPSHOT | 2C | 44 | Print Screen键(抓屏) |
VK_Insert | 2D | 45 | Ins键(Num Lock关闭时的数字键盘0) |
VK_Delete | 2E | 46 | Del键(Num Lock关闭时的数字键盘.) |
VK_HELP | 2F | 47 | Help键 |
VK_0 | 30 | 48 | 0键 |
VK_1 | 31 | 49 | 1键 |
VK_2 | 32 | 50 | 2键 |
VK_3 | 33 | 51 | 3键 |
VK_4 | 34 | 52 | 4键 |
VK_5 | 35 | 53 | 5键 |
VK_6 | 36 | 54 | 6键 |
VK_7 | 37 | 55 | 7键 |
VK_8 | 38 | 56 | 8键 |
VK_9 | 39 | 57 | 9键 |
VK_A | 41 | 65 | A键 |
VK_B | 42 | 66 | B键 |
VK_C | 43 | 67 | C键 |
VK_D | 44 | 68 | D键 |
VK_E | 45 | 69 | E键 |
VK_F | 46 | 70 | F键 |
VK_G | 47 | 71 | G键 |
VK_H | 48 | 72 | H键 |
VK_I | 49 | 73 | I键 |
VK_J | 4A | 74 | J键 |
VK_K | 4B | 75 | K键 |
VK_L | 4C | 76 | L键 |
VK_M | 4D | 77 | M键 |
VK_N | 4E | 78 | N键 |
VK_O | 4F | 79 | O键 |
VK_P | 50 | 80 | P键 |
VK_Q | 51 | 81 | Q键 |
VK_R | 52 | 82 | R键 |
VK_S | 53 | 83 | S键 |
VK_T | 54 | 84 | T键 |
VK_U | 55 | 85 | U键 |
VK_V | 56 | 86 | V键 |
VK_W | 57 | 87 | W键 |
VK_X | 58 | 88 | X键 |
VK_Y | 59 | 89 | Y键 |
VK_Z | 5A | 90 | Z键 |
VK_NUMPAD0 | 60 | 96 | 数字键0键 |
VK_NUMPAD1 | 61 | 97 | 数字键1键 |
VK_NUMPAD2 | 62 | 98 | 数字键2键 |
VK_NUMPAD3 | 62 | 99 | 数字键3键 |
VK_NUMPAD4 | 64 | 100 | 数字键4键 |
VK_NUMPAD5 | 65 | 101 | 数字键5键 |
VK_NUMPAD6 | 66 | 102 | 数字键6键 |
VK_NUMPAD7 | 67 | 103 | 数字键7键 |
VK_NUMPAD8 | 68 | 104 | 数字键8键 |
VK_NUMPAD9 | 69 | 105 | 数字键9键 |
VK_MULTIPLY | 6A | 106 | 数字键盘上的*键 |
VK_ADD | 6B | 107 | 数字键盘上的+键 |
VK_SEPARATOR | 6C | 108 | Separator键 |
VK_SUBTRACT | 6D | 109 | 数字键盘上的-键 |
VK_DECIMAL | 6E | 110 | 数字键盘上的.键 |
VK_DIVIDE | 6F | 111 | 数字键盘上的/键 |
VK_F1 | 70 | 112 | F1键 |
VK_F2 | 71 | 113 | F2键 |
VK_F3 | 72 | 114 | F3键 |
VK_F4 | 73 | 115 | F4键 |
VK_F5 | 74 | 116 | F5键 |
VK_F6 | 75 | 117 | F6键 |
VK_F7 | 76 | 118 | F7键 |
VK_F8 | 77 | 119 | F8键 |
VK_F9 | 78 | 120 | F9键 |
VK_F10 | 79 | 121 | F10键 |
VK_F11 | 7A | 122 | F11键 |
VK_F12 | 7B | 123 | F12键 |
VK_NUMLOCK | 90 | 144 | Num Lock 键 |
VK_SCROLL | 91 | 145 | Scroll Lock键 |
上面没有提到的:(都在大键盘) | |||
VK_LWIN | 91 | 左win键 | |
VK_RWIN | 92 | 右win键 | |
VK_APPS | 93 | 右Ctrl左边键,点击相当于点击鼠标右键,会弹出快捷菜单 | |
186 | ;(分号) | ||
187 | =键 | ||
188 | ,键(逗号) | ||
189 | -键(减号) | ||
190 | .键(句号) | ||
191 | /键 | ||
192 | `键(Esc下面) | ||
219 | [键 | ||
220 | 键 | ||
221 | ]键 | ||
222 | ‘键(引号) |
js学习笔记之:键盘应用的更多相关文章
- WebGL three.js学习笔记 创建three.js代码的基本框架
WebGL学习----Three.js学习笔记(1) webgl介绍 WebGL是一种3D绘图协议,它把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的 ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- Vue.js学习笔记(2)vue-router
vue中vue-router的使用:
- JS 学习笔记--9---变量-作用域-内存相关
JS 中变量和其它语言中变量最大的区别就是,JS 是松散型语言,决定了它只是在某一个特定时间保存某一特定的值的一个名字而已.由于在定义变量的时候不需要显示规定必须保存某种类型的值,故变量的值以及保存的 ...
- WebGL three.js学习笔记 使用粒子系统模拟时空隧道(虫洞)
WebGL three.js学习笔记 使用粒子系统模拟时空隧道 本例的运行结果如图: 时空隧道demo演示 Demo地址:https://nsytsqdtn.github.io/demo/sprite ...
- WebGL three.js学习笔记 法向量网格材质MeshNormalMaterial的介绍和创建360度全景天空盒的方法
WebGL学习----Three.js学习笔记(5) 点击查看demo演示 Demo地址:https://nsytsqdtn.github.io/demo/360/360 简单网格材质 MeshNor ...
- vue.js 学习笔记3——TypeScript
目录 vue.js 学习笔记3--TypeScript 工具 基础类型 数组 元组 枚举 字面量 接口 类类型 类类型要素 函数 函数参数 this对象和类型 重载 迭代器 Symbol.iterat ...
- 2019-4-29 js学习笔记
js学习笔记一:js数据类型 1:基本数据类型 number类型(整数,小数) String类型 boolean类型 NaN类型其实是一个nu ...
- 一点感悟:《Node.js学习笔记》star数突破1000+
写作背景 笔者前年开始撰写的<Node.js学习笔记> github star 数突破了1000,算是个里程碑吧. 从第一次提交(2016.11.03)到现在,1年半过去了.突然有些感慨, ...
- JS学习笔记5_DOM
1.DOM节点的常用属性(所有节点都支持) nodeType:元素1,属性2,文本3 nodeName:元素标签名的大写形式 nodeValue:元素节点为null,文本节点为文本内容,属性节点为属性 ...
随机推荐
- C语言基础课程 第三课 ADB(Android Debug Bridge)的使用
由于前面已经发布过Linux的博客了 基础班将Linux基础命令就不单独发表博客了,本节课主要就是利用adb连接手机进行一个Linux基本命令的复习.而且熟悉手机的底层运作,不用界面操作照样也能 ...
- HDOJ 1215 七夕节
Problem Description 七夕节那天,月老来到数字王国,他在城门上贴了一张告示,并且和数字王国的人们说:"你们想知道你们的另一半是谁吗?那就按照告示上的方法去找吧!" ...
- 《ACM国际大学生程序设计竞赛题解Ⅰ》——基础编程题
这个专栏开始介绍一些<ACM国际大学生程序设计竞赛题解>上的竞赛题目,读者可以配合zju/poj/uva的在线测评系统提交代码(今天zoj貌似崩了). 其实看书名也能看出来这本书的思路,就 ...
- JavaScript中bind、call、apply函数用法详解
在给我们项目组的其他程序介绍 js 的时候,我准备了很多的内容,但看起来效果不大,果然光讲还是不行的,必须动手.前几天有人问我关于代码里 call() 函数的用法,我让他去看书,这里推荐用js 写服务 ...
- 【Cocos2d-X开发学习笔记】第27期:游戏背景之贴图地图类(CCTileMapAtlas)的使用
本系列学习教程使用的是cocos2d-x-2.1.4(最新版为3.0alpha0-pre) ,PC开发环境Windows7,C++开发环境VS2010 一.贴图地图类CCTileMapAtlas 除了 ...
- Lucene多字段搜索
最近在学习Lucene的过程中遇到了需要多域搜索并排序的问题,在网上找了找,资料不是很多,现在都列出来,又需要的可以自己认真看看,都是从其他网站粘贴过来的,所以比较乱,感谢原创的作者们! 使用 ...
- Android系统中设置TextView的行间距(非行高)
Android系统中TextView默认显示中文时会比较紧凑,不是很美观.为了让每行保持一定的行间距,可以设置属性android:lineSpacingExtra或android:lineSpacin ...
- Effect of Switchovers, Failovers, and Control File Creation on Backups
对dataguard 官方文档里面的这句话不理解,是否能给出一个样例说明: 10.2.0.5的版本号 Effect of Switchovers, Failovers, and Control Fil ...
- [javascirpt] Regex
To Currency function toCurrency(price){ return price.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, & ...
- VMware于CentOS网络设置
VMware于CentOS网络设置 底: 笔记本电脑有两块网卡: 1. 网卡连接公司内网,仅仅配置了内网ip和子网掩码. 2. 无线网卡.连接4g无线路由器.dhcp自己主动配置. 问题: 在VMwa ...