JavaScript 键盘事件 Keycode 对照与常用操作指南

作者:微光

时间:2026-10-24

浏览:660

本文整理 JavaScript 中键盘事件的 Keycode 对照表,涵盖字母、数字、功能键及控制键的键值。详解 window.event.keyCode 与 event.which 的浏览器兼容性差异,并提供组合键检测、回车键响应及屏蔽特定快捷键(如 F12、Ctrl+U)的完整代码示例,帮助开发者实现更精细的键盘交互控制。

文章目录

JavaScript 键盘 Keycode 对照表

字母与数字按键的键码值(keyCode)

字母和数字键的键码值(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            

JavaScript 键码速查表

数字值 实际键值
48到57 0到9
65到90 a到z(A到Z)
112到135 F1到F24
8 BackSpace(退格)
9 Tab
13 Enter(回车)
20 Caps_Lock(大写锁定)
32 Space(空格键)
37 Left(左箭头)
38 Up(上箭头)
39 Right(右箭头)
40 Down(下箭头)

应用示例:

组合按键处理

if ((window.event.ctrlKey)&&(window.event.keyCode==49))

alert("您按下了CTRL+1键");

由上述示例可知,Shift、Control 和 Alt 键在 JS 中可通过“window.event.shiftKey”、“window.event.ctrlKey”及“window.event.altKey”进行判断。

浏览器兼容性:keyCode 与 which

Internet Explorer 与 Chrome 浏览器采用 event.keyCode 获取按下字符,而 Netscape、Firefox 及 Opera 等浏览器则使用 event.which。

获取键盘按键信息示例

捕获用户按键操作

以下示例演示如何利用 onkeydown 事件获取键盘按键信息:


<html>
<body>
<script type="text/javascript">

function noNumbers(e)
{
    var keynum;
    var keychar;

    keynum = window.event ? e.keyCode : e.which;
    keychar = String.fromCharCode(keynum);
    alert(keynum+':'+keychar);
}

</script>
<input type="text" onkeydown="return noNumbers(event)" />
</body>
</html>

如前例所示,event.keyCode 或 event.which 返回按键对应的数字值(Unicode 编码),常见键值对应关系如下:

Web 应用中常利用 onkeydown 事件的 event.keyCode/event.which 获取用户键盘操作以执行特定功能。例如登录时检测大写锁定键(代码20)并提示;翻页场景中监听左右箭头键触发页面切换。

获取 Unicode 编码值后,若需得到实际对应的按键字符,可通过 String 对象的 fromCharCode 方法(String.fromCharCode())实现。需注意,字符键始终返回大写形式,而部分功能键返回的字符可能不易阅读。

判断回车键与组合键处理

JavaScript 判断是否按下回车键


<input id="chatMsg" name="chatMsg" type="text"
size="90" onkeypress="enterHandler(event);"/>
function enterHandler(event)
{
//获取用户单击键盘的“键值”
var keyCode = event.keyCode ? event.keyCode 
: event.which ? event.which : event.charCode;
//如果是回车键
if (keyCode == 13)
{
sendRequest();
}
}

屏蔽特定按键组合代码

屏蔽特定按键组合


function Key Down(){    
  if ((window.event.altKey)&& 
      ((window.event.keyCode==37)||   //屏蔽 Alt+ 方向键 ← 
       (window.event.keyCode==39))){  //屏蔽 Alt+ 方向键 → 
     alert("不准你使用ALT+方向键前进或后退网页!"); 
     event.returnValue=false; 
     } 
  if ((event.keyCode==8)||            //屏蔽退格删除键 
      (event.keyCode==116)){          //屏蔽 F5 刷新键 
     event.keyCode=0; 
     event.returnValue=false; 
     } 
  if ((event.ctrlKey)&&(event.keyCode==78)){   //屏蔽 Ctrl+n 
     event.returnValue=false; 
     } 
  if ((event.shiftKey)&&(event.keyCode==121)){ //屏蔽 shift+F10 
     event.returnValue=false; 
     } 
  if (event.keyCode==122){ //屏蔽 F11 
     event.returnValue=false; 
     } 
  }

键盘动作实时显示示例

获取按键及其对应值的 JS 代码 另附一段代码示例,

该代码可根据键盘按键显示动作及 keyCode 值


<STYLE TYPE="text/css"> 
TD {text-align:center} 
</STYLE> 
<SCRIPT LANGUAGE="JavaScript"> 
function init() { 
    document.onkeydown = showKeyDown 
    document.onkeyup = showKeyUp 
    document.onkeypress = showKeyPress 
}

function showKeyDown(evt) { 
    evt = (evt) ? evt : window.event 
    document.getElementById("pressKeyCode").innerHTML = 0 
    document.getElementById("upKeyCode").innerHTML = 0 
    document.getElementById("pressCharCode").innerHTML = 0 
    document.getElementById("upCharCode").innerHTML = 0 
    restoreModifiers("") 
    restoreModifiers("Down") 
    restoreModifiers("Up") 
    document.getElementById("downKeyCode").innerHTML = evt.keyCode 
    if (evt.charCode) { 
        document.getElementById("downCharCode").innerHTML = evt.charCode 
    } 
    showModifiers("Down", evt) 
} 
function showKeyUp(evt) { 
    evt = (evt) ? evt : window.event 
    document.getElementById("upKeyCode").innerHTML = evt.keyCode 
    if (evt.charCode) { 
        document.getElementById("upCharCode").innerHTML = evt.charCode 
    } 
    showModifiers("Up", evt) 
    return false 
} 
function showKeyPress(evt) { 
    evt = (evt) ? evt : window.event 
    document.getElementById("pressKeyCode").innerHTML = evt.keyCode 
    if (evt.charCode) { 
        document.getElementById("pressCharCode").innerHTML = evt.charCode 
    } 
    showModifiers("", evt) 
    return false 
} 
function showModifiers(ext, evt) { 
    restoreModifiers(ext) 
    if (evt.shiftKey) { 
        document.getElementById("shift" + ext).style.backgroundColor = "#ff0000" 
    } 
    if (evt.ctrlKey) { 
        document.getElementById("ctrl" + ext).style.backgroundColor = "#00ff00" 
    } 
    if (evt.altKey) { 
        document.getElementById("alt" + ext).style.backgroundColor = "#0000ff" 
    } 
} 
function restoreModifiers(ext) { 
    document.getElementById("shift" + ext).style.backgroundColor = "#ffffff" 
    document.getElementById("ctrl" + ext).style.backgroundColor = "#ffffff" 
    document.getElementById("alt" + ext).style.backgroundColor = "#ffffff" 
} 
</SCRIPT> 
</HEAD>

<BODY onLoad="init()"> 
<H1>Keyboard Event Handler Lab</H1> 
<HR> 
<FORM> 
<TABLE BORDER=2 CELLPADDING=2> 
<TR><TH></TH><TH>onKeyDown</TH><TH>onKeyPress</TH><TH>onKeyUp</TH></TR> 
<TR><TH>Key Codes</TH> 
    <TD ID="downKeyCode">0</TD> 
    <TD ID="pressKeyCode">0</TD> 
    <TD ID="upKeyCode">0</TD> 
</TR> 
<TR><TH>Char Codes (IE5/Mac; NN6)</TH> 
    <TD ID="downCharCode">0</TD> 
    <TD ID="pressCharCode">0</TD> 
    <TD ID="upCharCode">0</TD> 
</TR> 
<TR><TH ROWSPAN=3>Modifier Keys</TH> 
    <TD><SPAN ID="shiftDown">Shift</SPAN></TD> 
    <TD><SPAN ID="shift">Shift</SPAN></TD> 
    <TD><SPAN ID="shiftUp">Shift</SPAN></TD> 
</TR> 
<TR> 
    <TD><SPAN ID="ctrlDown">Ctrl</SPAN></TD> 
    <TD><SPAN ID="ctrl">Ctrl</SPAN></TD> 
    <TD><SPAN ID="ctrlUp">Ctrl</SPAN></TD> 
</TR> 
<TR> 
    <TD><SPAN ID="altDown">Alt</SPAN></TD> 
    <TD><SPAN ID="alt">Alt</SPAN></TD> 
    <TD><SPAN ID="altUp">Alt</SPAN></TD> 
</TR> 
</TABLE> 
</FORM>

屏蔽 Ctrl+U 与 F12 等快捷键

屏蔽 Ctrl+U 及 F12 等快捷键


function keycodes() {
    document.oncontextmenu = function () { return false };
    document.onkeydown = function (e) {
        e = window.event || e;
        var k = e.keyCode;
        if ((e.ctrlKey == true && k == 85) || k == 123) {
            e.keyCode = 0;
            e.returnValue = false;
            e.cancelBubble = true;
            return false;
        }
    }
}

至此,关于 JavaScript Keycode 对照表的文章介绍完毕,更多相关内容请查阅本站往期文章或继续浏览下方相关文章,感谢支持!

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章