Javascript 檢測(cè)鍵盤(pán)按鍵信息及鍵碼值對(duì)應(yīng)介紹
分別對(duì)應(yīng)的意思是:按鍵被按下(按下按鍵但還沒(méi)有抬起)、點(diǎn)擊按鍵(按下并抬起按鍵)、按鍵抬起(按鍵抬起之后)
按鍵的分類(lèi)
按鍵可以分為“實(shí)鍵”和“虛鍵”
實(shí)鍵可以理解為我們能夠看到并打印出來(lái)的按鍵,如字母“A”、數(shù)字“1”、字符“?”等等
虛鍵就是那些無(wú)法打印出來(lái)起到控制作用的按鍵,如“Ctrl”、“Alt”、“Shift”、“方向鍵”等等
IE在處理虛鍵時(shí)有個(gè)特例:虛鍵不會(huì)產(chǎn)生keypress事件,必須使用keydown或keyup來(lái)捕獲
按鍵碼和字符碼
按鍵碼是計(jì)算機(jī)用來(lái)識(shí)別不同按鍵的編碼,每一個(gè)按鍵都有按鍵碼
字符碼是可被打印的實(shí)鍵特有的,對(duì)應(yīng)了鍵盤(pán)上顯示的字符
按鍵碼可以使用String.fromCharCode()轉(zhuǎn)換為字符碼
按鍵碼和和字符碼的對(duì)應(yīng)表可以在本文最后找到。
獲取實(shí)鍵
function getKeyCode(e) {
var keyCode = 0;
var e = e || window.event;
keyCode = e.keyCode || e.which || e.charCode;
alert(keyCode);
}
稍微解釋下
1. e為Firefox等標(biāo)準(zhǔn)瀏覽器支持的JS隱藏變量,表示一個(gè)“事件”;IE系列中沒(méi)有“e”,而是用window.event來(lái)表示“事件”;所以var e = e || window.event;就表示:獲取當(dāng)前正在發(fā)生的事件。
2. e.keyCode、e.which、e.charCode都代表獲取按鍵碼,但不同的瀏覽器支持不同的寫(xiě)法
獲取虛鍵
function getKeyCode(e) {
var keyCode = 0;
var e = e || window.event;
if (e.ctrlKey) alert("ctrlKey pressed");
if (e.altKey) alert("altKey pressed");
if (e.shiftKey) alert("shiftKey pressed");
}
字母和數(shù)字鍵的鍵碼值(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 |
數(shù)字鍵盤(pán)上的鍵的鍵碼值(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 |
- js獲取及判斷鍵盤(pán)按鍵的方法
- JS實(shí)現(xiàn)獲取鍵盤(pán)按下的按鍵并顯示在頁(yè)面上的方法
- JavaScript onkeypress事件入門(mén)實(shí)例(按下或按住一個(gè)鍵盤(pán)按鍵)
- JavaScript onkeydown事件入門(mén)實(shí)例(鍵盤(pán)某個(gè)按鍵被按下)
- js在輸入框屏蔽按鍵,只能鍵入數(shù)字的示例代碼
- JS獲取鍵盤(pán)上任意按鍵的值(實(shí)例代碼)
- js獲取鍵盤(pán)按鍵響應(yīng)事件(兼容各瀏覽器)
- js中各瀏覽器中鼠標(biāo)按鍵值的差異
- 按鍵盤(pán)方向鍵翻頁(yè)跳轉(zhuǎn)的javascript代碼(支持ie,firefox)
- JavaScript 監(jiān)聽(tīng)textarea中按鍵事件
- JS判斷是否長(zhǎng)按某一鍵的方法
相關(guān)文章
JavaScript函數(shù)、方法、對(duì)象代碼
函數(shù)定義可以嵌套在其他函數(shù)中,常用作子函數(shù)。但不能出現(xiàn)在循環(huán)或條件語(yǔ)句中。2008-10-10javascript拖拽上傳類(lèi)庫(kù)DropzoneJS使用方法
這篇文章主要介紹了javascript拖拽上傳類(lèi)庫(kù)DropzoneJS使用方法,大家參考使用吧2013-12-12JavaScript異步隊(duì)列進(jìn)行try?catch時(shí)的問(wèn)題解決
這篇文章主要介紹了JavaScript異步隊(duì)列進(jìn)行try?catch時(shí)的問(wèn)題解決,文章圍繞主題展開(kāi)詳細(xì)的的相關(guān)內(nèi)容介紹,需要的朋友可以參考一下2022-07-07Nautil 中使用雙向數(shù)據(jù)綁定的實(shí)現(xiàn)
這篇文章主要介紹了Nautil 中使用雙向數(shù)據(jù)綁定的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10基于JavaScript實(shí)現(xiàn)無(wú)限加載瀑布流
這篇文章主要為大家詳細(xì)介紹了基于JavaScript實(shí)現(xiàn)無(wú)限加載瀑布流,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07Javascript中JSON數(shù)據(jù)分組優(yōu)化實(shí)踐及JS操作JSON總結(jié)
這篇文章主要介紹了Javascript中JSON數(shù)據(jù)分組優(yōu)化實(shí)踐,文中還對(duì)JS操作JSON的要領(lǐng)做了總結(jié),需要的朋友可以參考下2017-12-12詳解JavaScript中的4種類(lèi)型識(shí)別方法
JavaScript中檢測(cè)對(duì)象類(lèi)型的運(yùn)算符有:typeof、instanceof,還有對(duì)象的constructor屬性: 1) typeof 運(yùn)算符 typeof 是一元運(yùn)算符,返回結(jié)果是一個(gè)說(shuō)明運(yùn)算數(shù)類(lèi)型的字符串。下面由小編給大家分享JavaScript中的4種類(lèi)型識(shí)別方法,需要的朋友可以參考下本文2015-09-09點(diǎn)選TOP后并不是直接跳到頁(yè)頂?shù)模菨L動(dòng)上去的
點(diǎn)選TOP后并不是直接跳到頁(yè)頂?shù)?,而是滾動(dòng)上去的...2007-02-02