我有一个捕获关键新闻事件并做某事的脚本。它工作正常,直到屏幕关闭,当我再次按下屏幕打开的东西,浏览器没有得到ms边缘的按键事件(在chrome / firefox中)。
最奇怪的是,在按下某个边缘10分钟之后,某种方式“重新获得”焦点并且它再次开始工作。
https://jsfiddle.net/fymetro0/
document.body.addEventListener('keypress', function(e) {
document.getElementById("test").innerHTML = "Pressed " + new Date().getTime();
});
这是边缘的错误或特征吗?我可以以某种方式禁用它吗?
由于
更新 使用onblur + onfocus更新了小提琴:https://jsfiddle.net/fymetro0/1/
在chrome / firefox中,当屏幕转动时,它不会失去焦点,但它会在边缘处失去焦点。
UPDATE2 好吧,我现在非常有信心,这就是优势。丑陋的解决方法是间隔,它每隔几秒检查一次文档是否有焦点,如果不是,则调用document.focus()。