2013-04-21 35 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