2013-04-21 45 views
2

当鼠标在我的页面外面时,如何捕获F5按键?如何捕捉F5键当鼠标在我的页面外?

例如盘旋的滚动条上,或者在地址栏,或在菜单上等等

因为在这种情况下e.which,它通常含有用于116 F5 ,包含undefined

EDIT : 在玩Alexey Lebedev'jsfiddle后,我发现如果最后一个用户点击是在我的页面内,我实际上可以抓到F5

但是,如果最后一次用户点击出现在我的页面之外,问题依然存在。

我认为浏览器客户端区域不是焦点,但它不应该得到按键,并且不应该刷新。

+0

在什么浏览器和操作系统发生这种情况? – 2013-04-21 13:42:21

+0

让我们从Windows 7/Chrome最新版本 – Flot2011 2013-04-21 13:44:24

+1

开始我无法在Win7/Chrome http://jsfiddle.net/GRdGA/中复制它(但请务必先点击iframe) – 2013-04-21 13:45:49

回答

0

如果最后一次用户点击在您的页面之外(例如在地址栏中),则刷新F5上的页面可能仍是个不错的主意,但该页面不应该能够窥探您正在键入的URL ,因此不应该接收键盘事件。

如果您的目标是防止在刷新时丢失未保存的数据,您可以在beforeunload上显示确认。

+0

我想要做的是要了解哪个操作导致'卸载'事件 – Flot2011 2013-04-21 14:16:57

+0

AFAIK,你不能说关闭标签/窗口点击'刷新'。 – 2013-04-21 14:25:19