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,文本节点为文本内容,属性节点为属性 ...
随机推荐
- 【转】google chrome如何设置主页
原文网址:http://jingyan.baidu.com/article/8275fc86bf916c46a13cf666.html google chrome是一款拥有众多优秀插件的浏览器,是我们 ...
- i++和++i的老问题
对于++j,该式是指先将j的值自加1,然后再取j的值.自增过后参与计算 i的值也为10:对于i++,该表达式是指先取i的值做运算,再将i加1.参见过计算后再自增
- BagTest
package cn.aust.zyw.demo; import java.util.Iterator; /** * Created by zyw on 2016/2/17. */ public cl ...
- python 代码格式化工具:pep8ify
资料: https://github.com/spulec/pep8ify 安装 $ pip install pep8ify 用法 Usage: 2to3 [options] file|dir ... ...
- UIView和CALayer有什么关系
view是对layer的一种封装,你对view的很多操作事实上是对layer的操作,之所以会出现这两个东西是因为1.view支持很多手势的交互,你所操作iphone的各种点击,拖动等等.2.layer ...
- centos安装GO
1,下载 go1.5.1.linux-amd64.tar.gz 2,将go解压到/opt,个人喜好罢了[root@localhost ~]# tar -C /opt -xzf ./go1.5.1.li ...
- WdatePicker 控制选择范围
1. 跨无限级框架显示 无论你把日期控件放在哪里,你都不需要担心会被外层的iframe所遮挡进而影响客户体验,因为My97日期控件是可以跨无限级框架显示的 示例2-7 跨无限级框架演示 可无限跨越框架 ...
- 浅析Android中的消息机制-解决:Only the original thread that created a view hierarchy can touch its views.
在分析Android消息机制之前,我们先来看一段代码: public class MainActivity extends Activity implements View.OnClickListen ...
- [PWA] 18. Clean the photo cache
We cannot let photo always keep caching new data without clean the old data. If message is not displ ...
- [Angular 2] Inject Service
TypeScript is used heavily as we build up our application, but TypeScript isn’t required. If you wan ...