关于FireFox23.0.1中实现的按键事件对象key属性
2013-08-20 18:13
274 查看
标题可能有点拗口,不过往下看您就明白了。或者,也可以参考JS权威指南第17章的17.9节。
DOM3中对键盘事件对象进行了优化,为它添加了key属性,此属性的值是一个字符串,对应于按下的键名。如果按下的是一个可打印的字符,则key值就等于这个字符,如果是功能键,则key值将是像“F2”,"Home","Left"这样的值。
遗憾的是,目前这个属性还未得到广泛的实现(具体的实现情况我尚未做深入的研究,以后研究了再来更新)。刚才写了个小例子,意图是将键盘按键转换为对应的键值,该例子要保证在所有浏览器中都可以良好地运行。
实验的种种细节就不表了,这里只想说一个结论: FireFox23.0.1中虽然给键盘事件对象添加了key属性,但这个属性的表现却和DOM3规范所期望的并不一致。 它的初始值是“Unidentified”, 当我同时按下控制键和一个可打印字符时,它的值总会是控制键的字符化表示,而不是期望的字符值,例如:
shift+a 为 “Shift”
ctrl+ x(这个键其实任意,只要是可打印字符就行) 为 “Control”
....
而当只按下可打印字符键时,它的值依然不是字符,而是“MozPrintableKey
”!! 真是诡异至极!期待在FF的后续版本中可以改进这个问题吧。
DOM3中对键盘事件对象进行了优化,为它添加了key属性,此属性的值是一个字符串,对应于按下的键名。如果按下的是一个可打印的字符,则key值就等于这个字符,如果是功能键,则key值将是像“F2”,"Home","Left"这样的值。
遗憾的是,目前这个属性还未得到广泛的实现(具体的实现情况我尚未做深入的研究,以后研究了再来更新)。刚才写了个小例子,意图是将键盘按键转换为对应的键值,该例子要保证在所有浏览器中都可以良好地运行。
实验的种种细节就不表了,这里只想说一个结论: FireFox23.0.1中虽然给键盘事件对象添加了key属性,但这个属性的表现却和DOM3规范所期望的并不一致。 它的初始值是“Unidentified”, 当我同时按下控制键和一个可打印字符时,它的值总会是控制键的字符化表示,而不是期望的字符值,例如:
shift+a 为 “Shift”
ctrl+ x(这个键其实任意,只要是可打印字符就行) 为 “Control”
....
而当只按下可打印字符键时,它的值依然不是字符,而是“MozPrintableKey
”!! 真是诡异至极!期待在FF的后续版本中可以改进这个问题吧。
相关文章推荐
- js中json对象不规律key的遍历实现和json对象length属性的调用
- js中json对象不规律key的遍历实现和json对象length属性的调用
- js中json对象不规律key的遍历实现和json对象length属性的调用
- js中json对象不规律key的遍历实现和json对象length属性的调用
- js 实现图片预加载 (js操作 Image对象属性complete ,事件onload 异步加载图片)
- js中json对象不规律key的遍历实现和json对象length属性的调用
- js中json对象不规律key的遍历实现和json对象length属性的调用
- js 实现图片预加载 (js操作 Image对象属性complete ,事件onload 异步加载图片)
- 动态-JS实现给对象动态添加属性并赋值 及 实现AJAX data传递动态key键名
- 使用BOM通常可实现如下功能、window对象常用的属性、方法、事件
- 面向对象的编程:关于对象的 属性、方法和事件 的理解
- 关于ajax对象一些常用属性、事件和方法大小写比较常见的问题总结
- js中json对象不规律key的遍历实现和json对象length属性的调用
- js 实现图片预加载 (js操作 Image对象属性complete ,事件onload 异步加载图片)
- js中json对象不规律key的遍历实现和json对象length属性的调用
- js中json对象不规律key的遍历实现和json对象length属性的调用
- js中json对象不规律key的遍历实现和json对象length属性的调用
- FxCAD 实验三 实现对象的【属性】事件
- js 实现图片预加载 (js操作 Image对象属性complete ,事件onload 异步加载图片)
- 关于类的入门例子(9): 获取对象的 RTTI 属性与事件的函数