javascript 通過鍵名獲取鍵盤的keyCode

来源:https://www.cnblogs.com/yibuxiaoxinjiu/archive/2017/12/29/8144589.html
-Advertisement-
Play Games

不廢話,直接看代碼,需要的根據需求完善。 例:getKeyCode('a') 返回:65 ...


不廢話,直接看代碼,需要的根據需求完善。

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

例:getKeyCode('a')

返回:65 


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

-Advertisement-
Play Games
更多相關文章
  • 添加屬性 odiv.setAttribute("title","hello div!"); odiv.setAttribute("class","boxClass"); odiv.setAttribute("hello","divTag");//自定義屬性設(hello="divTag") 獲取屬性... ...
  • 類選擇器相容性 getbyclass()類選擇器,在IE8及以下均不可用。 // 類選擇器的相容性 function getbyclass(parentName,Name){ var parentName=document.getElementById(parentName); // 通過標簽名通配... ...
  • 無聊弄了這個東西,還是發表出來吧 導入包 實體類 資料庫連接 資料庫操作 service層數據操作 網頁對service層可視化實現 model package com.ij34.model; public class article { private int id; private String ...
  • 作者網站原文:http://hawkzz.com/blog/blog/1514542087911 簡介 我們開發不可能只寫一個頁面,每次都要寫很多頁面,這時為了開發效率,我們使用前端自動化工具webpack,那麼webpack是如何打包頁面的呢?又是如何打包多頁面的呢? 單頁面打包 我們知道要打包單 ...
  • 前言 經過2個多月的艱苦奮鬥,app的第一個版本已經快完工了,期間遇到了太多的坑,作為一個喜歡分享的人,我當然不會吝嗇分享這爬坑歷程。不要問我有多坑,我會告訴你很多,很多..... 過去一直從事.net web開發工作,直到幾個月前,公司需要開發一個h5+,於是我這樣的全能型選手自然而然就被派去搞w ...
  • 這個需求場景很常見,但好像到目前還沒有一個正統的做法,以至於一搜這個問題,出來的招數五花八門,典型的包括: 給body上overflow:hidden,fixed什麼的。問題在於:手機端可能沒用,或者會讓頁面回到頂部~影響體驗 簡單粗暴的屏蔽touchmove。問題在於:彈出層內部需要滾動就不行 張 ...
  • 1:concat 2:join 3:pop 4:push 5:reverse 6:shift 7:slice 8:unshift 9:splice ...
  • 還是老樣子,先啰嗦一點前言。 最近各種事務纏身,所以也就隔了比較長的時間才開始碼這篇文。希望不會這麼快就過氣。 好了,接下來就開始碼代碼。(寫到中途,突然感覺到的。本篇設計大量初中物理知識,請懷念的往下看) 這次不像之前,是已經寫好的文件,拿出來解析一波,就糊弄出來了一篇隨筆。總之,我就一邊的編代碼 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...