用户在使用键盘时会触发键盘事件。“DOM2 级事件”最初规定了键盘事件,结果又删除了相应的内容。最终还是使用最初的键盘事件,不过 IE9 已经率先支持“DOM3”级键盘事件。

一、键码

  在发生 keydown 和 keyup 事件时,event 对象的 keyCode 属性中会包含一个代码,与键盘上一个特定的键对应。对数字字母字符集,keyCode 属性的值与 ASCII 码中对应小写字母或数字的编码相同。字母中大小写不影响。

<script type="text/javascript">
window.onload = function(){
document.onkeydown = function (evt) {
alert(evt.keyCode); //按任意键,得到相应的 keyCode
};
};
</script>

  不同的浏览器在 keydown 和 keyup 事件中,会有一些特殊的情况:在 Firefox 和 Opera 中,分号键时 keyCode 值为 59,也就是 ASCII 中分号的编码;而 IE和 Safari 返回 186,即键盘中按键的键码。

<script type="text/javascript">
window.onload = function(){
document.onkeypress = function (evt) {
alert(evt.keyCode); //按任意键,得到相应的 keyCode
};
};
</script>
</head>
<body>
<input type="button" value="按钮"/>
</body>

  如果用keypress返回keyCode,在火狐中所有的字符键都返回0,不是字符键没反应。Chrome,IE支持keypress返回keyCode,而且还支持大小写

二、字符编码

  Firefox、Chrome 和 Safari 的 event 对象都支持一个 charCode 属性,这个属性只有在发生 keypress 事件时才包含值,而且这个值是按下的那个键所代表字符的 ASCII 编码。

  此时的 keyCode 通常等于 0 或者也可能等于所按键的编码。IE 和 Opera 则是在 keyCode 中保存字符的 ASCII 编码。

<script type="text/javascript">
window.onload = function(){
document.onkeypress = function (evt) {
alert(evt.charCode); //按任意键,得到相应的字符编码
};
};
</script>
</head>
<body>
<input type="button" value="按钮"/>
</body>

最新文章

  1. NoSql1 在Linux(CentOS)上安装memcached及使用
  2. Ext学习
  3. Gradle version 2.2 is required. Current version is 2.14.1.
  4. 关于MYSQL中like 检索汉字问题。
  5. IDEA配置maven
  6. Struts2 和 spring mvc的 迭代标签常用属性对比
  7. VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程
  8. 《Python基础教程(第二版)》学习笔记 -&gt; 第五章 条件、循环 和 其他语句
  9. CSS样式表其它知识点
  10. UVA 10817 Headmaster&#39;s Headache(DP +状态压缩)
  11. SGU 269. Rooks(DP)
  12. 学习zepto.js(原型方法)
  13. character-RNN模型介绍以及代码解析
  14. web框架之Flask
  15. linux线程及互斥锁
  16. 预攻击 局域网 Windows 查看其它在线设备
  17. solr之环境配置一
  18. Python中关于if __name__==&#39;__main__&#39;的问题
  19. Redis持久化概念
  20. 【宣讲】德州科技职业学院宣讲关于IT领域趋势分析

热门文章

  1. [译]用R语言做挖掘数据《二》
  2. 关于PHP数据库mysql的一些案例
  3. 搭建Web部署环境
  4. 在使用HttpClient做客户端调用一个API时 模拟并发调用时发生“死锁&quot;?
  5. Fask中的路由-模版-静态文件引用 及宏定义与表单
  6. ORB-SLAM2实现(kinect V1/ROS)
  7. JAVA基础之——JDK分析io、nio
  8. ARP原理和欺骗
  9. jQuery动态创建的dom对象不能绑定事件的解决方法
  10. PoPo数据可视化周刊第一期