可能重複:
Javascript KeyCode vs CharCode = Utter Confusion的Javascript使用String.charCodeAt(指數)和鍵碼
是什麼的String.charCodeAt(index)
返回值和JavaScript鍵碼之間的區別?有沒有辦法在兩者之間進行翻譯?
例如:
console.log('.'.charCodeAt(0)); // prints 46 on Mac/Chrome
但鍵代碼 ''是190.
可能重複:
Javascript KeyCode vs CharCode = Utter Confusion的Javascript使用String.charCodeAt(指數)和鍵碼
是什麼的String.charCodeAt(index)
返回值和JavaScript鍵碼之間的區別?有沒有辦法在兩者之間進行翻譯?
例如:
console.log('.'.charCodeAt(0)); // prints 46 on Mac/Chrome
但鍵代碼 ''是190.
string.charCodeAt(index)用於返回指定位置字符串字符的ascii值。
keyCode是被按下的鍵盤鍵值的瀏覽器實現。不幸的是,它在所有瀏覽器中都沒有標準化。
編輯:
String.fromCharCode(unicodeValue);
這將一個Unicode值轉換如鍵代碼爲ASCII值。請注意,並非所有keyCode值都將轉換爲適當的ascii值(因爲不存在),例如{delete,up,down,left,right,home,insert,page up,page down}
例如:按下Delete鍵將返回一個46的keyCode,如果你這樣做alert(String.fromCharCode(46));
你會看到它輸出一個句點,因爲46是一個句點的ascii值。
是否有一個函數可以從keyCode轉換爲charCode,反之亦然? –
jQuery已經實現了一個名爲'event.which'的keyCode版本,它將其添加到回調方法的事件對象中。它規範化這些keyCode,以便它們在jQuery支持的所有瀏覽器和版本中保持一致。這是難以完成的部分...然後你只需要編寫映射到正確的ascii值的映射函數。 –
關於'event.which的api文檔http://api.jquery.com/event.which/ –
不同的onkeydown和的onkeyup的onkeypress
事件不INFACT返回charCode
屬性,它可以轉化爲它的字符表示使用String.fromCharCode
input.onkeypress = function(e) {
var char = String.fromCharCode(e.charCode);
}
還檢查了這個鏈接,一些好的研究關於在不同瀏覽器的鍵碼/ charCodes &平臺
首先是在ASCII表的位置,第二個是一個鍵盤ķ ey代碼值。 – VisioN
我不會說這是重複的,因爲鏈接的問題沒有詢問如何在兩者之間進行翻譯。 –
更具體地說,如果我有一個字符,我如何在任何給定的瀏覽器中獲取其密鑰? –