Chrome中鼠标拖动时不触发keydown事件

8
我注意到在Chrome浏览器中,关于键盘按下事件(keydown event)有一种奇怪的行为。
我有一个简单的脚本(http://jsfiddle.net/xYDbt/1/):
<div id="x"></div>
<script>
    document.onkeydown = function (e)
    {
        document.getElementById("x").innerHTML += "Hi";
    }
</script>

在Chrome中,只有在鼠标左键按下时移动鼠标才不会触发事件。这仅在加载页面后的第一次出现。随后的按键操作正常工作。 我在FF / Opera / IE中进行了测试,没有问题。 有没有Chrome的解决方法?

我在使用 Mac OS X 上的 Chrome,似乎没有这个问题。 - Randomblue
我可以在Windows上复制它。它似乎不仅限于页面加载后的第一次尝试 - 每个拖动会话的第一个keydown事件都将被忽略。 - user140628
1个回答

1

虽然 onkeydown 和 onkeypress 受到此错误的影响,但似乎 onkeyup 没有受到影响。

希望您可以通过这种方式解决问题!


1
谢谢,我通过在onmousedown处理程序中返回false来解决了这个问题,但这也可以同样有效。 - mihai
在拖动过程中我的 onkeydown、onkeyup 不起作用 :/(版本 37.0.2062.120 Ubuntu 14.04 (281580) (64 位)) - Luckylooke

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接