关于FireFox23.0.1中实现的按键事件对象key属性

本文探讨了DOM3中键盘事件对象的key属性,并详细分析了Firefox 23.0.1版本中此属性的表现与规范不符的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

标题可能有点拗口,不过往下看您就明白了。或者,也可以参考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的后续版本中可以改进这个问题吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值