JavaScript 中的虚拟键盘

Virtual keypad in JavaScript

本文关键字:键盘 虚拟 JavaScript      更新时间:2023-09-26

我正在为我的需求创建虚拟键盘,我想把它放在我的网站上。我已经将不同语言的所有键码存储在特定的数组中。我的问题是,当我按下键盘按钮时,我想忽略键盘输入到 TextArea 中的当前语言,但我想处理并输入字母,或者我们可以根据用户选择的语言从我的数组中说出键字符。谢谢,等待您的答复

我有一个带有键码和字符码的对象:

var layout = {
    192 : "0x0451",
    49 : "0x0031",
    50 : "0x0032",
    51 : "0x0033",
    52 : "0x0034",
    53 : "0x0035",
    54 : "0x0036",
    55 : "0x0037",
    56 : "0x0038",
    57 : "0x0039",
    48 : "0x0030",
    189 : "0x0493",
    187 : "0x04EF",
    8 : "BS",
    9 : "Tab",
    81 : "0x0439",
    87 : "0x049B",
    69 : "0x0443",
    82 : "0x043A",
    84 : "0x0435",
    89 : "0x043D",
    85 : "0x0433",
    73 : "0x0448",
    79 : "0x04B3",
    80 : "0x0437",
    219 : "0x0445",
    221 : "0x044A",
    220 : "0x005C",
    20 : "",
    65 : "0x0444",
    83 : "0x04B7",
    68 : "0x0432",
    70 : "0x0430",
    71 : "0x043F",
    72 : "0x0440",
    74 : "0x043E",
    75 : "0x043B",
    76 : "0x0434",
    186 : "0x0436",
    222 : "0x044D",
    13 : "",
    16 : "",
    90 : "0x044F",
    88 : "0x0447",
    67 : "0x0441",
    86 : "0x043C",
    66 : "0x0438",
    78 : "0x0442",
    77 : "0x04E3",
    188 : "0x0431",
    190 : "0x044E",
    191 : "0x002E",
    16 : "",
    17 : "",
    46 : "",
    18 : "",
    32 : "",
    18 : "",
    46 : "",
    17 : ""
};

我对你想做什么有点困惑。这将侦听TextArea元素上的keyDown事件,并根据按下的键从数组layout中选择一个字符。

我不确定你打算在这之后做什么,但希望这是一个好的开始。

$("#TextArea").keyDown(function(event) {
  event.preventDefault();
  // Convert or insert etc the matching key.
  var newKey = layout[event.which];
  $(this).text(newKey);
});