2017-09-14 52 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键。