【发布时间】:2010-08-13 10:29:29
【问题描述】:
我正在处理 Javascript 中的密钥处理。我做了一些研究,我想知道我是否对密钥处理有正确的理解。
KeyDown/KeyUp 事件 IE7+ 和 Firefox 3.5+ 都支持 key down 和 key up 事件我没有检查早期版本的浏览器,但我猜他们也支持这些事件。
说键盘上的每个键总是有一个键码是否正确。
字符代码
CharCode 值在按键上可用。大多数键将具有代表实际值的字符代码。有些键没有与之关联的字符码。例如。退格、删除、箭头键。
我是否正确地说,在按键上,charcode 将与 keycode 相同?
事件顺序
- 按键
- 按键
- KeyUp
此顺序是否因浏览器而异?例如,我有两个功能。第一个绑定到 KeyDown 事件,第二个绑定到 KeyPress 事件。调用 KeyPress 事件意味着 KeyDown 事件也将被调用,当我只希望其中一个事件起作用时。
最后,我一直在考虑根据版本浏览器使用不同的密钥处理例程。例如:
- 检查浏览器版本
- 根据浏览器版本获取密钥处理例程
这将引入额外的代码,但应该会简化维护。另外,将来当我想为不同的浏览器提供支持时,我可以简单地添加另一个例程,它不会影响现有的字符处理例程。
到目前为止,我一直在阅读http://www.quirksmode.org
【问题讨论】:
标签: javascript cross-browser dom-events onkeydown onkeypress