2012-08-16 211 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); 
});