使用 javascript 将键码转换为字符,例如将键码 27 转换为 esc

Convert keycode to character using javascript,like keyCode 27 to esc

var key_code = 65;

结果应该是

character = "Esc";

我想转换键盘上的所有按键。 我的演示在这里:

window.onload = function ()
{
 var oP = document.getElementsByTagName("p")[0]; 
 document.onkeydown = function (event)
 {
  var event = event || window.event;
  oP.innerHTML = String.fromCharCode(event.keyCode);
  return false
 }
}
<p></p>

您必须创建一个对象来存储它们并搜索您想要的对象。

你需要一个集合,例如

var keys = {
    "8" : "backspace",
    "9" : "tab"
}; 
keys["8"];//etc

N.B。 json 中不能有数字键,只有字符串。

这将允许您使用键的文本名称搜索键码。

如果您想从键码中搜索键,您可以使用数组,例如:

var keys = [0];
...
keys[8] = "backspace"; // etc

//这是我的最终答案...希望得到任何好的建议,ths

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