2017-09-14 67 views
0

我按下F2按鈕時彈出一個彈出按鈕,但問題是當我按Q按鈕彈出窗口時。我的第一個想法是它的鍵盤問題,所以我嘗試了不同的系統,結果是一樣的。然後我做了一個test code,只是爲了確保我的代碼中沒有錯誤,但它也給出了相同的結果。這是我的示例代碼按鈕「Q」和「F2」的鍵碼相同

<html> 
 
\t <head> 
 
\t \t <script> 
 
\t \t \t function giveFocusToRespectiveQuantity(evt) { 
 
\t \t  \t var charCode = (evt.which) ? evt.which : evt.keyCode; 
 
\t \t  \t alert(charCode); 
 
\t \t \t } 
 
\t \t </script> 
 
\t </head> 
 
\t <body> 
 
\t \t <input type="text" onkeypress="return giveFocusToRespectiveQuantity(event)"> 
 
\t </body> 
 
</html>

正如你可以看到當F2Q被按下charcode是兩者相同。這是爲什麼?

這些鏈接說,對於Q關鍵代碼是81

  1. Javascript Char Codes (Key Codes)
  2. KeyboardEvent Value (keyCodes, metaKey, etc)
+0

如果你堅持'event.which',那麼'F2'給出0和'Q' 113 – Vivick

回答

1

使用 '的onkeydown' 或 '的onkeyup' 代替。因爲onkeypress只能檢測到允許的鍵,而不是控制鍵。

例如:

<input type="text" onkeydown="return giveFocusToRespectiveQuantity(event)"> 

返回113爲F2和81對於Q/Q鍵。