簡體   English   中英

如何在文本區域中按下字符

[英]How do I get the character pressed in a textarea

這真的很奇怪。

我有一個文本區域。 我聽按鍵和按鍵事件。

當我按下“(”時,會用e.keyCode == e。哪個== 40觸發按鍵

當我按下向下箭頭鍵時,會使用e.keyCode == e。哪一個== 40觸發鍵盤輸入

為什么這么奇怪?

傳統上,箭頭鍵與ASCII碼重疊,但是向程序員表示為兩個字節的序列,因此您知道已按下了特殊鍵。 隨着Unicode的出現,這不再是一個干凈的解決方案。

瀏覽器已經實現了不同的方式來表示對Javascript運行時的特殊鍵輸入。 詳細說明在這里

我通常在檢測箭頭鍵時使用'keydown'事件,因為此事件具有正確的鍵代碼,並且在用戶鍵入左括號時會使用不同的鍵代碼(9的那個)觸發。 在您要允許用戶通過按住箭頭鍵來重復鍵入事件的情況下,這可能不起作用。

keydownkeyup事件提供一個代碼,指示按下哪個 ,而keypress指示輸入哪個字符

“(”的字符代碼是40( keypress事件),向下箭頭的字符代碼也是40( keyup )。

嘗試:

String.fromCharCode(40); // "("

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM