zoukankan      html  css  js  c++  java
  • Javascript 检测键盘按键

    Javascript中 有3个事件句柄在对应键盘的输入状态:keydown、keypress和keyup。
    分别对应的意思是:按键被按下(按下按键但还没有抬起)、点击按键(按下并抬起按键)、按键抬起(按键抬起之后)


    按键的分类:


    按键可以分为“实键”和“虚键”
    实键可以理解为我们能够看到并打印出来的按键,如字母“A”、数字“1”、字符“?”等等
    虚键就是那些无法打印出来起到控制作用的按键,如“Ctrl”、“Alt”、“Shift”、“方向键”等等
    IE在处理虚键时有个特例:虚键不会产生keypress事件,必须使用keydown或keyup来捕获


    按键码和字符码


    按键码是计算机用来识别不同按键的编码,每一个按键都有按键码
    字符码是可被打印的实键特有的,对应了键盘上显示的字符
    按键码可以使用String.fromCharCode()转换为字符码
    按键码和和字符码的对应表可以在本文最后找到。


    获取实键

    [javascript] view plaincopy
    1. $('body').bind('keypress',getKeyCode);   
    2. function getKeyCode(e) {  
    3.     var evt = e || window.event;  
    4.     var keyCode = evt.keyCode || evt.which || evt.charCode;  
    5.     alert(keyCode);  
    6. }  

    稍微解释下

    1. e为Firefox等标准浏览器支持的JS隐藏变量,表示一个“事件”;IE系列中没有“e”,而是用window.event来表示“事件”;所以var e = e || window.event;就表示:获取当前正在发生的事件。
    2. e.keyCode、e.which、e.charCode都代表获取按键码,但不同的浏览器支持不同的写法


    获取虚键

    [javascript] view plaincopy
    1. function getKeyCode(e) {  
    2.     var evt = e || window.event;  
    3.     if (evt.ctrlKey) alert("ctrlKey pressed");  
    4.     if (evt.altKey) alert("altKey pressed");  
    5.     if (evt.shiftKey) alert("shiftKey pressed");  
    6. }  

    字母和数字键的键码值(keyCode)
    按键 键码 按键 键码 按键 键码 按键 键码
    A 65 J 74 S 83 1 49
    B 66 K 75 T 84 2 50
    C 67 L 76 U 85 3 51
    D 68 M 77 V 86 4 52
    E 69 N 78 W 87 5 53
    F 70 O 79 X 88 6 54
    G 71 P 80 Y 89 7 55
    H 72 Q 81 Z 90 8 56
    I 73 R 82 0 48 9 57

      

    数字键盘上的键的键码值(keyCode) 功能键键码值(keyCode)
    按键 键码 按键 键码 按键 键码 按键 键码
    0 96 8 104 F1 112 F7 118
    1 97 9 105 F2 113 F8 119
    2 98 * 106 F3 114 F9 120
    3 99 + 107 F4 115 F10 121
    4 100 Enter 108 F5 116 F11 122
    5 101 - 109 F6 117 F12 123
    6 102 . 110        
    7 103 / 111        

      

    控制键键码值(keyCode)
    按键 键码 按键 键码 按键 键码 按键 键码
    BackSpace 8 Esc 27 Right Arrow 39 -_ 189
    Tab 9 Spacebar 32 Dw Arrow 40 .> 190
    Clear 12 Page Up 33 Insert 45 /? 191
    Enter 13 Page Down 34 Delete 46 `~ 192
    Shift 16 End 35 Num Lock 144 [{ 219
    Control 17 Home 36 ;: 186 | 220
    Alt 18 Left Arrow 37 =+ 187 ]} 221
    Cape Lock 20 Up Arrow 38 ,< 188 '" 222

    多媒体键码值(keyCode)
    按键 键码 按键 键码 按键 键码 按键 键码
    音量加 175            
    音量减 174            
    停止 179            
    静音 173            
    浏览器 172            
    邮件 180            
    搜索 170            
    收藏 171            


  • 相关阅读:
    hive查询语句合并问题
    hive isnull或ifnull的替代方法if()方法
    hive科学计数法引发的问题
    科学计数法转字符串
    shell命令执行结果$?
    shell脚本中变量接受hive语句的返回值问题
    shell简单命令
    js切换图片
    js点击图片切换
    操作节点
  • 原文地址:https://www.cnblogs.com/y0umer/p/3838887.html
Copyright © 2011-2022 走看看