【发布时间】:2011-04-19 13:11:40
【问题描述】:
我已阅读jQuery Event Keypress: Which key was pressed? 和How can i check if key is pressed during click event with jquery?
但是我的问题是,您是否可以为所有浏览器获取相同的键事件?目前我知道 Firefox 为 command 按钮 (Mac) 提供代码 224,而 Chrome 和 Safari 为其提供值 91。 是简单检查用户正在使用的浏览器并按下按键的最佳方法或者有没有办法让我可以在所有浏览器中获得 1 个关键代码? 请注意,我通过以下方式获得价值:
var code = (evt.keyCode ? evt.keyCode : evt.which);
如果可能的话,我宁愿不使用插件,因为我只需要知道按下的 command/ctrl(Windows 系统)键。
【问题讨论】:
-
jQuery 规范化
event.which中的关键代码。你可以在api.jquery.com/keydown/#target 测试它。此外,浏览器嗅探几乎没有必要,而且几乎总是一种不好的做法。 -
即使 keydown 测试显示 Firefox 给命令键一个 224 而 Safari/Chrome 给它一个 91。
-
这更加困难,因为根据unixpapa.com/js/key.html,right 命令键的值是 93。
-
@Marcel:是的,我在我的 Mac 上得到了同样的结果。
标签: javascript jquery command keydown onkeyup