我如何处理箭头键和 < Javascript 函数中的(大于)?哪个事件和哪个代码(charCode 或 keyCode)?
如何在 Javascript 函数中处理 ArrowKeys 和 <
(大于)?哪个事件和哪个代码(charCode 或 keyCode)?
我很困惑如何做到这一点。我已经非常仔细地阅读了这个链接, 事件和 keyCode+charCode,但我找不到适合我的场景的任何解决方案。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用
event.keyCode
就足够了。您只需要考虑与获取关键事件有关的浏览器兼容性问题。这是一个捕获箭头键的基本启动示例,复制“粘贴”然后运行它:
请注意,最好附加事件 这样或者使用 jQuery。
要捕获
<
等按下的字符,请查看 Tim 的回答。Using
event.keyCode
is sufficient. You only need to browser compatibility issues with regard to obtaining the key event into account.Here's a basic kickoff example which captures arrow keys, copy'n'paste'n'run it:
Note that attaching events is better to be done this way or using jQuery.
For capturing the pressed characters like
<
, have a look at Tim's answer.当检测非文本输入键(例如箭头键)时,使用
keydown
事件是正确的方法。要检测键入的字符(例如<
),使用keypress
事件是唯一安全的方法。如果您改为使用keydown
事件及其keyCode
属性,则不能保证这适用于与您自己的键盘和浏览器类型不同的键盘和浏览器类型。如果您确实想了解 JavaScript 键处理,我推荐以下页面: http://unixpapa.com /js/key.html
这是满足您要求的示例:
When detecting a non-text-input key such as an arrow key, using the
keydown
event is the correct approach. For detecting a typed character such as<
, using thekeypress
event is the only safe approach. If you instead use thekeydown
event and itskeyCode
property, this is not guaranteed to work on types of keyboard and browsers different to your own.If you really want to learn about JavaScript key handling, I recommend the following page: http://unixpapa.com/js/key.html
Here's an example for your requirements:
我可能是错的,但似乎 IE 更好地处理 onkeydown 事件而不是 onkeypress。
I may be wrong but seems that for IE better to handle onkeydown event rather then onkeypress.