Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么我的代码总是大写? $('#a')。键控( 功能(事件){ 警报(String.fromCharCode(event.which)) })_Javascript_Jquery - Fatal编程技术网

Javascript 为什么我的代码总是大写? $('#a')。键控( 功能(事件){ 警报(String.fromCharCode(event.which)) })

Javascript 为什么我的代码总是大写? $('#a')。键控( 功能(事件){ 警报(String.fromCharCode(event.which)) }),javascript,jquery,Javascript,Jquery,您可以在浏览器中测试此代码 而且它总是提醒大写字符编码。(猜测) 它引用的是没有箱子的钥匙。大小写取决于shift键是否也按下。起初,我认为这是一个错误,因为keypress事件返回了预期的小写值。事实证明,在keyup/keydown上,总是返回ASCII大写/非移位版本的键 通过此链接: 访问密钥代码时要小心 在onkeydown或 onkeyup事件,因为无论何时 按下任何键,包括非 字符键,如“Shift”。这 表示如果您尝试按“Shift+a”键 尝试获取“A”的钥匙码,你可以 最终总

您可以在浏览器中测试此代码

而且它总是提醒大写字符编码。

(猜测)


它引用的是没有箱子的钥匙。大小写取决于shift键是否也按下。

起初,我认为这是一个错误,因为
keypress
事件返回了预期的小写值。事实证明,在
keyup/keydown
上,总是返回ASCII大写/非移位版本的键

通过此链接:

访问密钥代码时要小心 在onkeydown或 onkeyup事件,因为无论何时 按下任何键,包括非 字符键,如“Shift”。这 表示如果您尝试按“Shift+a”键 尝试获取“A”的钥匙码,你可以 最终总会得到两个 钥匙代码,一个用于“换档”和 按那个顺序一个代表“A”。你呢 不管钥匙码是什么,都得不到 对于“a”,as keyCode始终返回 大写字母的unicode值 字符的版本

  • 按下Shift+a可算作一次按键事件
  • 按下Shift+a键时,计为两个
    keydown
    事件,松开键时计为两个
    keydup
    事件
  • keypress
    返回同时按下的一个或多个键的合成值
  • keydown
    keydup
    返回单个键的值,同时忽略任何键组合

现在是令人困惑的部分:由于某种原因,
a
键的未移位值返回为键代码65。但在ASCII表中,65是大写字母A。因此,在这条线上的某个地方,浏览器使用小写字母a(ASCII代码97),将其转换为大写字母a,然后将其
keydown/keydup
作为非移位字符传递。奇怪,不是吗?

我不确定我是否会称这种行为为“奇怪”,这只是一种惯例。请注意,
keyCode
事件不考虑这种情况。
keyCode
告诉您按下了哪个键,而不是由它产生的字符。由于几乎所有键盘上的字母都是大写的,所以使用大写的变体似乎是有意义的。很好的回答,否则。:)
<script type="text/javascript" src="jquery-1.3.2.js"></script>
<input id=a type="text" value='sss'/>
<script type="text/javascript">
    $('#a').keyup(
  function(event){
   alert(String.fromCharCode(event.which))
  })
</script>