Javascript 一个简单的e.altKey测试
摘要: 我想捕捉Javascript 一个简单的e.altKey测试,javascript,html,keyboard,key,keypress,Javascript,Html,Keyboard,Key,Keypress,摘要: 我想捕捉Alt+Zonkeypress的事件。我正在使用e.altKey来实现这一点。 但是,它在任何地方都不起作用,从textareas到inputs到div[contenteditable]s Shift+any_key(any_key!==Alt)的事件工作正常,但根本没有检测到Alt。我使用keydown进行了测试,效果非常好 我不知道它是否相关,但ctrl键在我的小提琴中也不起作用。我在各种答案中看到了ctrl键被抓到onkeypress,但我不知道为什么它在我的小提琴中
Alt+Z
onkeypress
的事件。我正在使用e.altKey
来实现这一点。
但是,它在任何地方都不起作用,从textarea
s到input
s到div[contenteditable]
s
Shift+any_key
(any_key!==Alt
)的事件工作正常,但根本没有检测到Alt
。我使用keydown
进行了测试,效果非常好
我不知道它是否相关,但
ctrl
键在我的小提琴中也不起作用。我在各种答案中看到了ctrl
键被抓到onkeypress
,但我不知道为什么它在我的小提琴中不起作用
我所说的不工作是指,即使没有弹出警报
框
这一定是一些我可能忽略的简单的东西
注意:只需要Chrome支持,不需要任何库。还有,我的Alt键没有坏。我可以按Alt+F并在Chrome中打开文件菜单 编辑: 因此,我们意识到这是一个事件不会触发的事件(注意到)。尽管如此,如果有人有任何解决办法,使这项工作。请分享。谢谢
更新:已经三年了。铬臭虫需要几年才能修复好吗?或者我应该忘记它(我已经忘记了这个问题,只是在维护工作中遇到了它)Onkeypress不会为所有键启动 您需要使用onkeydown 注意:不会对所有键(例如ALT、CTRL、, 所有浏览器中的SHIFT、ESC)。仅检测用户是否有 按下一个键,改用onkeydown事件,因为它适用于 所有的钥匙
引用自:如果您正确地分配了事件处理程序,则可以正常工作编辑等待否这是错误的;无论在Firefox中发生什么情况,它都能正常工作。这就是问题所在。例如:@Pointy谢谢你的回复,但它仍然不起作用:(是的,我意识到我错了。Chrome只是在键盘事件上有不良行为(可能还有Safari;这似乎是一个WebKit问题)。如果我按下
Alt+Z
,会怎么样?这样,就会按下Z
,因此我相信事件应该触发。另外,为什么Shift
键在写入时不应该工作?(“所有键(例如Alt、CTRL、Shift、ESC)”?完全停止使用按键。所有操作都使用按键。这些只是示例,但我不知道为什么这样做有效。可能在IE或其他浏览器中不起作用。