js獲取及判斷鍵盤按鍵的方法

来源:http://www.cnblogs.com/HCJ520--/archive/2016/08/04/5735649.html
-Advertisement-
Play Games

這篇文章主要介紹了js獲取及判斷鍵盤按鍵的方法,涉及JavaScript鍵盤事件的獲取及鍵值的判定技巧,具有一定參考借鑒價值,需要的朋友可以參考下 這篇文章主要介紹了js獲取及判斷鍵盤按鍵的方法,涉及JavaScript鍵盤事件的獲取及鍵值的判定技巧,具有一定參考借鑒價值,需要的朋友可以參考下 本文 ...


這篇文章主要介紹了js獲取及判斷鍵盤按鍵的方法,涉及JavaScript鍵盤事件的獲取及鍵值的判定技巧,具有一定參考借鑒價值,需要的朋友可以參考下  

本文實例講述了js獲取及判斷鍵盤按鍵的方法。分享給大家供大家參考,具體如下:

js 裡面的鍵盤事件經常用到,所以收集了鍵盤事件對應的鍵碼來分享下:

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 keyCode 8 = BackSpace BackSpace keyCode 9 = Tab Tab keyCode 12 = Clear keyCode 13 = Enter keyCode 16 = Shift_L keyCode 17 = Control_L keyCode 18 = Alt_L keyCode 19 = Pause keyCode 20 = Caps_Lock keyCode 27 = Escape Escape keyCode 32 = space keyCode 33 = Prior keyCode 34 = Next keyCode 35 = End keyCode 36 = Home keyCode 37 = Left keyCode 38 = Up keyCode 39 = Right keyCode 40 = Down keyCode 41 = Select keyCode 42 = Print keyCode 43 = Execute keyCode 45 = Insert keyCode 46 = Delete keyCode 47 = Help keyCode 48 = 0 equal braceright keyCode 49 = 1 exclam onesuperior keyCode 50 = 2 quotedbl twosuperior keyCode 51 = 3 section threesuperior keyCode 52 = 4 dollar keyCode 53 = 5 percent keyCode 54 = 6 ampersand keyCode 55 = 7 slash braceleft keyCode 56 = 8 parenleft bracketleft keyCode 57 = 9 parenright bracketright keyCode 65 = a A keyCode 66 = b B keyCode 67 = c C keyCode 68 = d D keyCode 69 = e E EuroSign keyCode 70 = f F keyCode 71 = g G keyCode 72 = h H keyCode 73 = i I keyCode 74 = j J keyCode 75 = k K keyCode 76 = l L keyCode 77 = m M mu keyCode 78 = n N keyCode 79 = o O keyCode 80 = p P keyCode 81 = q Q at keyCode 82 = r R keyCode 83 = s S keyCode 84 = t T keyCode 85 = u U keyCode 86 = v V keyCode 87 = w W keyCode 88 = x X keyCode 89 = y Y keyCode 90 = z Z keyCode 96 = KP_0 KP_0 keyCode 97 = KP_1 KP_1 keyCode 98 = KP_2 KP_2 keyCode 99 = KP_3 KP_3 keyCode 100 = KP_4 KP_4 keyCode 101 = KP_5 KP_5 keyCode 102 = KP_6 KP_6 keyCode 103 = KP_7 KP_7 keyCode 104 = KP_8 KP_8 keyCode 105 = KP_9 KP_9 keyCode 106 = KP_Multiply KP_Multiply keyCode 107 = KP_Add KP_Add keyCode 108 = KP_Separator KP_Separator keyCode 109 = KP_Subtract KP_Subtract keyCode 110 = KP_Decimal KP_Decimal keyCode 111 = KP_Divide KP_Divide keyCode 112 = F1 keyCode 113 = F2 keyCode 114 = F3 keyCode 115 = F4 keyCode 116 = F5 keyCode 117 = F6 keyCode 118 = F7 keyCode 119 = F8 keyCode 120 = F9 keyCode 121 = F10 keyCode 122 = F11 keyCode 123 = F12 keyCode 124 = F13 keyCode 125 = F14 keyCode 126 = F15 keyCode 127 = F16 keyCode 128 = F17 keyCode 129 = F18 keyCode 130 = F19 keyCode 131 = F20 keyCode 132 = F21 keyCode 133 = F22 keyCode 134 = F23 keyCode 135 = F24 keyCode 136 = Num_Lock keyCode 137 = Scroll_Lock keyCode 187 = acute grave keyCode 188 = comma semicolon keyCode 189 = minus underscore keyCode 190 = period colon keyCode 192 = numbersign apostrophe keyCode 210 = plusminus hyphen macron keyCode 211 = keyCode 212 = copyright registered keyCode 213 = guillemotleft guillemotright keyCode 214 = masculine ordfeminine keyCode 215 = ae AE keyCode 216 = cent yen keyCode 217 = questiondown exclamdown keyCode 218 = onequarter onehalf threequarters keyCode 220 = less greater bar keyCode 221 = plus asterisk asciitilde keyCode 227 = multiply division keyCode 228 = acircumflex Acircumflex keyCode 229 = ecircumflex Ecircumflex keyCode 230 = icircumflex Icircumflex keyCode 231 = ocircumflex Ocircumflex keyCode 232 = ucircumflex Ucircumflex keyCode 233 = ntilde Ntilde keyCode 234 = yacute Yacute keyCode 235 = oslash Ooblique keyCode 236 = aring Aring keyCode 237 = ccedilla Ccedilla keyCode 238 = thorn THORN keyCode 239 = eth ETH keyCode 240 = diaeresis cedilla currency keyCode 241 = agrave Agrave atilde Atilde keyCode 242 = egrave Egrave keyCode 243 = igrave Igrave keyCode 244 = ograve Ograve otilde Otilde keyCode 245 = ugrave Ugrave keyCode 246 = adiaeresis Adiaeresis keyCode 247 = ediaeresis Ediaeresis keyCode 248 = idiaeresis Idiaeresis keyCode 249 = odiaeresis Odiaeresis keyCode 250 = udiaeresis Udiaeresis keyCode 251 = ssharp question backslash keyCode 252 = asciicircum degree keyCode 253 = 3 sterling keyCode 254 = Mode_switch

使用event對象的keyCode屬性判斷輸入的鍵值

eg:

複製代碼 代碼如下: if(event.keyCode==13)alert("enter!");

 

鍵值對應表

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 A  0X65  U   0X85 B  0X66  V   0X86 C  0X67  W   0X87 D  0X68  X   0X88 E  0X69  Y   0X89 F  0X70  Z   0X90 G  0X71  0   0X48 H  0X72  1   0X49 I  0X73  2   0X50 J  0X74  3   0X51 K  0X75  4   0X52 L  0X76  5   0X53 M  0X77  6   0X54 N  0X78  7   0X55 O  0X79  8   0X56 P  0X80  9   0X57 Q  0X81 ESC  0X1B R  0X82 CTRL  0X11 S  0X83 SHIFT 0X10 T  0X84 ENTER 0XD

如果要使用組合鍵,則可以判斷是否同時按下了這幾個鍵,比如ctrl鍵、shift鍵以及alt鍵的組合使用就可以判斷是否多按下了ctrl鍵、shift鍵以及alt鍵

js獲取鍵盤事件:

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 <script type="text/javascript" language=JavaScript charset="UTF-8"> document.onkeydown=function(event){ var e = event || window.event || arguments.callee.caller.arguments[0]; if(e && e.keyCode==27){ // 按 Esc //要做的事情 } if(e && e.keyCode==113){ // 按 F2 //要做的事情 } if(e && e.keyCode==13){ // enter 鍵 //要做的事情 } }; </script>

只要你定義了這些鍵的動作,你在瀏覽器里按下這些鍵就會響應,相容目前所有瀏覽器。

JS判斷鍵盤按鍵

?
1 2 3 4 5 6 7 8 9 window.document.onkeydown = disableRefresh; function disableRefresh(evt){ evt = (evt) ? evt : window.event if (evt.keyCode) { if(evt.keyCode == 116){ //do something } } }

鍵碼同上例所示。

使用event對象的keyCode屬性判斷輸入的鍵值

eg:

?
1 2 3 4 5 if(event.keyCode==13){ var ieKey=event.keyCode;//獲得鍵值,數字形式的 var realkey=String.fromCharCode(ieKey) //將數字形式的鍵值轉化為真實的按鍵 alert(realkey); }

鍵值對應表同上例所示

希望本文所述對大家JavaScript程式設計有所幫助。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 在Windows下,幾乎所有的硬體設備都需要安裝驅動後才能正常工作,我們重裝系統後第一件事就是要為各設備安裝好驅動,我們可以下載官方驅動手動安裝,也可以讓我Windows自動掃描安裝,還可以使用驅動精靈、電腦管家之類的工具幫我們安裝,為了發揮硬體設備最好的性能,我們還需要及時把驅動升級到最新的版本。... ...
  • 1、安裝redis (1)下載:https://github.com/phpredis/phpredis/tree/php7 或下載http://pan.baidu.com/s/1i5DFrjn用samba掛載導進去 (2)yum -y install m4 autoconf # 安裝依賴 (3)u ...
  • A機器:192.168.1.100(生產機器) B機器:192.168.1.123(管理機器) 需求:從管理機器無密碼登錄生產機器進行管理 1.在B機器下生成公鑰/私鑰對 root@B# ssh-keygen -t rsa -P '密匙管理密碼' 2.把生成的id_rsa.pub複製到A機下 roo ...
  • 1. 先進入對應文件夾: cd /etc/sysconfig/network-scripts/ 2.獲取root許可權: su 然後輸入root密碼 3.修改ifcfg-eth0 vi ifcfg-eth0 把no改為yes DEVICE=eth0HWADDR=78:24:AF:9C:D8:58TYP ...
  • 簡介: LVS 是 Linux Virtual Server 的簡寫,Linux 虛擬伺服器的意思,是一個虛擬的伺服器集群系統,此項目由章文嵩博士於 1998 年 5 月成立,是中國最早出現的自由軟體項目之一。 LVS 負載均衡集群系統的優點: 1、提高吞吐量 想獲得更高的吞吐量,在 LVS 中只需 ...
  • linux系統:Centos6.5 1.首先確定是不是圖形化界面: yum -y groupinstall Desktop "X Window System" chinese-support 2.先備份數據: cd /etc/yum.repos.d/(進入對應文件夾)→mv CentOS-Base. ...
  • 1.安裝redis 2.編寫redis優化腳本 3.打包 ...
  • mac遠程windows系統比較容易,但是windows遠程mac就相對複雜一點,需要藉助第三方工具來實現。 下麵給出簡要的遠程步驟: 1、登錄mac,點擊蘋果圖標,然後單擊【系統偏好設置...]。如下圖所示: 2、在【系統偏好設置】界面中,單擊【共用】,如下圖所示: 3.在【共用】中勾選【屏幕共用 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...