Opera中的KeyPress故障
KeyPress malfunction in Opera
我使用以下代码来检测用户的按键,使用JavaScript:
$(document).bind('keydown', function (event) {
'use strict';
var keyCode = event.keyCode;
switch (keyCode) {
case '{N}':
doSomething();
break;
default:
break;
}
});
其中doSomething
是先前定义的函数,{N}
是任意JavaScript字符码。
它在每个主要浏览器中都能正常工作,但在Opera中,即使按键一直被按下,它也只调用doSomething
一次,而不是直到按键释放为止。我能做些什么来解决这个问题?
编辑
我使用keypress
事件而不是keydown
(Opera处理得不好)解决了这个问题。
Opera会造成混乱,keydown事件不会重复,并且您无法阻止Opera中keydown的默认值。了解更多信息http://quirksmode.org/dom/events/
这是一个已知的错误,应该(最终!)很快得到修复。简而言之,当按键事件发生时,按键按下事件不会重复。如果你想重复(并且不在乎像大多数功能键一样在所有浏览器中不会触发按键的键),那么听按键应该是一个合理的跨浏览器解决方案。
相关文章:
- javascript.点击隐藏事件故障
- JS条件故障排除
- KeyPress和Keydown在这个特定的代码上不起作用.只有key-up起作用
- 尝试初始化()Spine's控制器和故障
- 物体故障
- 间歇性浏览捆绑包故障(可能是brfs)
- CORS故障无法解决jquery,laravel5.2
- Django无法通过urls.py配置找到djangular/app.js文件.如何进行故障排除
- 将时间转换为UTC时出现故障
- Jquery&有故障的功能
- keypress事件无法使用addEventListener函数
- 对 Drupal 站点的客户端 JS 问题进行故障排除
- 如果在线检查期间发生电源故障,我们如何更新用户再次登录门户时的剩余时间
- Raphael悬停事件和调整大小框在第三次鼠标悬停后发生故障
- ES6-Promises在使用Node MySQL时出现故障
- 计算故障-Javascript形式
- KeyPress图像应进行缩放
- Ajax对复杂字符串进行故障切换
- iMacros机架名称故障排除
- Opera中的KeyPress故障