2012-08-16 109 views
0

我正在为我的需要创建虚拟键盘,以便将其放入我的网站。我已经在特定数组中存储了具有不同语言字符码的所有键码。我的问题是,当我按下键盘按钮时,我想忽略键盘输入到TextArea的当前语言,但是我想要处理和放置这些字母,或者根据用户选择的语言从我的数组中选择重要键。谢谢你,等待你的回答JavaScript中的虚拟键盘

我有键码和charcodes对象:

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 : "" 

}; 
+0

这个语言数组是如何实现/结构化的? – 2012-08-16 09:30:09

+0

'event.preventDefault();'? – Passerby 2012-08-16 09:33:55

回答

0

我为你想要做什么有点困惑。这将在您的TextArea元素上聆听keyDown事件,并根据按下的键从阵列layout中选择一个字符。

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

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