ascii码与键盘代码的区别

来源:互联网 发布:网络教育学位考试难吗 编辑:程序博客网 时间:2024/04/29 07:09

ascii码与键盘代码是不一样的。文章链接


onkeypress与onkeyup/onkeydown的不同就是

onkeypress情况下,event.keyCode返回的是按键的ascii码值;

onkeyup/onkeydown情况下event.keyCode返回的是按键的键盘码



<script>

function show1()

{

  if(event.keyCode)

  {

  var x=event.keyCode;

  alert(String.fromCharCode(x));

  }  

}


funtcion show2(event)

{

  var x=event.keyCode;

}

</script>

<input type="text" name="txt1" onkeypress="show1()">

<input type="text" name="txt2" onkeydown="show2(event)">




keyCode 属性返回onkeypress事件触发的键的值的字符代码,或者 onkeydown或 onkeyup 事件的键的代码。

两种代码类型的区别是:

  • 字符代码 - 表示 ASCII 字符的数字
  • 键盘代码 - 表示键盘上真实键的数字
p>两种类型的值不是都相等的,例如小写字符 "w" 和大写字符 "W" 有相同的键盘代码,因为他们他们键盘上 ( "W" 代码为 "87"),但是它们有不同的字符代码,两个字符输出是不一样的( "w" 和 "W" 字符代码为 "119" 和 "87") - 查看以下实例可以更好的理解。

提示: 如果需要知道用户按下的是打印键 (如 "a" 或 "5"),建议使用 onkeypress 事件。如果需要知道用户按下的是功能键(如 "F1", "CAPS LOCK" 或 "Home") 可使用 onkeydown 或 onkeyup 事件。

注意: 在 Firefox 中,, keyCode 属性在 onkeypress 事件中是无效的 (返回 0)。浏览器兼容问题,可以一起使用 which 和 keyCode 属性来解决:

var x = event.which || event.keyCode;  // 使用 which 或 keyCode, 这样可支持不同浏览器

提示: 所有 Unicode 字符列表可查看我们的 完整 Unicode 参考手册。

提示: 如果你需要将 Unicode 值转换为字符,可以使用 fromCharCode() 方法。

注意: 该属性是只读的。

注意: which 和 keyCode 属性提供了解决浏览器的兼容性的方法,最新版本的 DOM 事件推荐使用 key 属性来替代该方法。

提示: 如果你想查看是否按下了 "ALT", "CTRL", "META" 或 "SHIFT" 键,可使用altKey, ctrlKey, metaKey 或 shiftKey 属性。



0 0
原创粉丝点击