关于键盘事件中keyCode、which和charCode 的兼容性测试
http://www.dodo.hk/article.asp?id=369
修改了下测试,想回复一下的,结果提示字数太多贴不了,就写到这吧:)
测试结果:
在IE下:
>> 支持keyCode
>> 不支持which和charCode,二者值为 undefined
在Firefox下:
>> 支持keyCode,除功能键外,其他键值始终为 0
>> 支持which和charCode,二者的值相同
在Opera下:
>> 支持keyCode和which,二者的值相同
>> 不支持charCode,值为 undefined
测试代码:
- <script type="text/javascript">
- //By 枫岩@CnLei.Com
- function $(s){
- return document.getElementById(s)?document.getElementById(s):s;
- }
- function viewKeyInfo(e){
- var currKey=0,CapsLock=0;
- var e=e||event;
- currKey=e.keyCode||e.which||e.charCode;
- CapsLock=currKey >=65 && currKey <=90;
- $("type").innerHTML=e['type'];
- $("currKey").innerHTML=String.fromCharCode(currKey);
- $("Decimal").innerHTML=currKey;
- $("keyCode").innerHTML=e['keyCode'];
- $("charCode").innerHTML=e['charCode'];
- $("caps").innerHTML=CapsLock;
- $("shiftKey").innerHTML=e['shiftKey'];
- $("ctrlKey").innerHTML=e['ctrlKey'];
- $("repeat").innerHTML=e['repeat'];
- $("which").innerHTML=e['which'];
- }
- document.οnkeypress= viewKeyInfo;
- </script>
- <p>请按下任意键看测试效果:</p>
- type:<span id="type"></span><br />
- 当前Key:<span id="currKey"></span><br />
- Decimal:<span id="Decimal"></span><br />
- keyCode:<span id="keyCode"></span> <strong>注:在FF下,keyCode始终为0</strong><br />
- which:<span id="which"></span> <strong>注:在IE下,which始终为undefined ; 在Opera下,keyCode和charCode二者的值相同</strong><br />
- charCode:<span id="charCode"></span> <strong>注:在IE、Opera下,charCode始终为undefined ; 在FF下,which和charCode二者的值相同</strong><br />
- 大写:<span id="caps"></span><br />
- altKey:<span id="altKey"></span><br />
- ctrlKey:<span id="ctrlKey"></span><br />
- shiftKey:<span id="shiftKey"></span><br />
- repeat:<span id="repeat"></span><br />
- <style type="text/css" media="all">
- body {color:#999;font:normal 14px tahoma,宋体,Geneva,Arial,sans-serif;}
- span {color:#f00;font-weight:bold;padding:0 5px;}
- strong {color:#090;font-weight:normal;padding:0 5px;}
- </style>
<script type="text/javascript"><!-- google_ad_client = "pub-6770445892601887"; /* 468x60, 创建于 09-11-19 */ google_ad_slot = "4437639877"; google_ad_width = 468; google_ad_height = 60; //--> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
关于键盘事件中keyCode、which和charCode 的兼容性测试相关推荐
- JS中常用的键盘事件与keycode属性
JS中的键盘事件与keycode属性 键盘事件 键盘事件与鼠标事件类似,同样常出现在开发过程中. 简单介绍三个常见的键盘事件 keydown (识别所有键) keyup (识别所有键) keypres ...
- 键盘事件和keycode对照表
键盘事件和keycode对照表 本次任务完成时间:2019年05月28日 作者:青青子衿 开发工具与关键技术:Visual Studio 2015 &&键盘事件和keycode对照表 ...
- js键盘事件中的键码对照表
JS中的键盘事件经常用到,收集了键盘事件对应的键码来分享下: keyCode 对应按键 8 BackSpace BackSpace 9 Tab Tab 12 Clear 13 Enter 16 S ...
- android虚拟按键 判断,如何检测虚拟键盘事件中的Android用Delphi
我不得不用键盘在tmemo同样的问题,尝试这两个函数和事件OnVirtualKeyboardShown和OnVirtualKeyboardHidden public { Public declarat ...
- wpf中键盘事件中KeyPressEventArgs.Handled 的用法(解决键盘事件默认操作)
KeyPressEventArgs.Handled 属性 (键盘的默认操作就是改变焦点,键盘方法需要为控件设置焦点) 获取或设置一个值,该值指示是否处理过 KeyPress 事件. 属性值类型:Sys ...
- QML笔记-键盘事件中同时响应onDigitXXPressed与onPressed
目录 背景 代码及演示 背景 在Keys.onDigitXXPressed信号与Keys.onPressed信号同时存在的时候,默认情况下往往只会触发Keys.onDigitXXPressed信号. ...
- Android电子牌外接USB读卡器读取内容模拟键盘事件
最近做了一个Android外接USB读卡器刷手环读取数据,模拟键盘输入事件的项目; 借鉴了https://github.com/githubRonda/BarcodeScanner 连接电子牌板子调试 ...
- Qt使用键盘事件实现ESC键退出Halcon的绘图流程
1.介绍 Halcon中的执行绘图算子draw_circlr或draw_rectangle1等算子在绘制图形时,单击鼠标左键进行绘图,点击右键确认图形,点击右键之前就进行等待动作,但是在MFC/Qt等 ...
- vue绑定键盘事件无效问题,vue绑定键盘delete事件示例,组合键绑定
项目有个需求,点击某个组件,按delete健后删除,于是乎第一就是想到了键盘事件 @keyup.delete='deleteKeyup(e)' 可是按delete键试了半天都没反应,加了.native ...
最新文章
- DNS浅析-Bind软件的使用及搭建一个简单的DNS缓存服务器
- 格式化显示在Label控件中的金额格式文本 (2)
- 关于禁止程序重复启动的另一种需要与实现《转》
- 评分怎么读_英国留学本科中途被退学怎么申请硕士补救
- 【Linux】IPC-消息队列
- 三相全桥整流电路_三相桥式全控整流电路
- LeetCode 1570. 两个稀疏向量的点积(哈希)
- python批量合并csv_如何在Python中通过多个列合并两个CSV文件
- delphi bmp绘制矢量文件效率慢_聊一聊矢量瓦片的常识
- 信息学奥赛一本通(1162:字符串逆序)
- [Unity] ACT 战斗系统学习 7:使用 ScriptableObject 制作角色属性 2
- MongoDB索引案例一则
- 绝对干货:保险公司决策分析系统建设方案
- 常用排序算法的Java实现 - 1
- express获取参数的几种方法
- 0CTF-babyheap2017祥讲
- 【复习】Listening and Reading Comprehension
- 华为模拟器eNSP配置DHCP自动分配IP地址
- 想要顺利携号转网?让你少跑弯路的小贴士!
- C++开发斗地主(QT)第三篇之动画发牌与位置计算
热门文章
- 信息学奥赛一本通(2049:【例5.19】字符串判等)
- 求后序遍历(信息学奥赛一本通-T1339)
- 菲波那契数列(信息学奥赛一本通-T1188)
- 信息学奥赛一本通C++语言——1080:余数相同问题
- 25 CO配置-控制-产品成本控制-成本对象控制-期末结算-定义利润分析码
- 转换uptime_句型转换
- hbase原理与实践_JAVA连接HBase客户端及HBase写入数据和读取数据原理解析
- 编译原理什么是移进规约冲突_我这个人不懂什么CPU,于是我用代码模拟出了一个...
- 浅谈Opencl之Image和Buffer 区别
- CSS自定义属性(CSS变量)