【发布时间】:2014-08-13 15:57:00
【问题描述】:
总结:
我想赶上Alt + Zonkeypress的事件。我正在使用e.altKey 来完成此操作。
但是,它在任何地方都不起作用,从 textareas 到 inputs 到 div[contenteditable]s!
Shift + any_key (any_key !== Alt) 的事件工作正常,但根本没有检测到 Alt。我用keydown 测试过,效果很好。
我不知道它是否相关,但ctrl 键在我的小提琴中也不起作用。我已经看到ctrl 键被onkeypress 捕获在这样的各种答案中:https://stackoverflow.com/a/4604093/2675672,但我不知道为什么它在我的小提琴中不起作用。
不工作,我的意思是,即使没有alert 框弹出。
它一定很简单,我可能会忽略。
注意:仅需要 Chrome 支持,无需任何库。另外,我的 Alt 键没有损坏。我可以按 Alt + F 并在 Chrome 中打开文件菜单就好了。
编辑:
因此,我们意识到这是一个Chrome bug,事件不会触发(由@Pointy 注意到)。不过,如果有人有任何解决方法来完成这项工作。请分享它们。谢谢!
更新:已经 3 年了。 Chromium bug 可以花几年时间来修复吗?或者我应该忘记它(我已经忘记了这个问题,只是在维护工作时遇到它)
【问题讨论】:
-
如果您正确分配事件处理程序,它工作正常jsfiddle.net/CPsRe edit 等待不,这是错误的;无论在 Firefox 中如何,它都能正常工作。 Chrome 就是这里的问题。例如:code.google.com/p/chromium/issues/detail?id=2606
-
@Pointy 感谢您的回复,但还是不行:(
-
是的,我意识到我错了。 Chrome 只是在键盘事件方面表现不佳(可能还有 Safari;这似乎是一个 WebKit 问题)。
标签: javascript html keyboard key keypress