按钮的关键代码" Q"和" F2"来得一样

时间:2017-09-14 05:21:07

标签: javascript keycode

我在按下F2按钮时弹出一个弹出窗口,但问题是当我按下Q按钮时弹出窗口即将到来。我的第一个想法是它的键盘问题,所以我尝试了不同的系统,结果是一样的。然后我做了一个test code,只是为了确保我的代码中没有错误,但它也给出了相同的结果。这是我的示例代码



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

正如您在按下F2Q时所看到的那样,charcode对于两者都相同。那是为什么?

这些链接表示Q的关键代码为81

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

1 个答案:

答案 0 :(得分:1)

使用&#39; onkeydown&#39;或者&#39; onkeyup&#39;代替。因为onkeypress只检测允许的键,而不是控制键。

例如:

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

为F2返回113,为q / Q键返回81.