2012-12-14 154 views
2

我注意到,jquery有一個按鍵功能。但它似乎只能檢測數字和字符的按鍵事件。它無法檢測到F5按鍵事件。而最讓我感到意外的是,每個人都在網上說F5的keyCode是116,但是當我使用jquery keypress函數時,它只是表明字符t的keyCode是116(似乎116是小寫的ascii代碼T)!有人可以給我任何想法,以及如何檢測JavaScript或jQuery中的F5事件?非常感謝提前。如何檢測jQuery中的F5刷新按鍵事件?

+0

我不認爲任何瀏覽器會讓你捕捉功能按鈕按下的事件... –

+0

@SidharthMudgal - [爲什麼不](http://jsfiddle.net/Brjb2/) –

+0

你不認爲'位置.reload();'與'F5'相同 –

回答

4

按鍵事件不接受功能鍵(F1-F12)。你可以嘗試使用keydown事件。

+1

正確。更具體地說,「按鍵」是指事件鍵入的事件。如果你按下的按鈕會在textarea中發生某些事情,那麼'keypress'事件就會觸發。然而,「keydown」會爲所有鑰匙開火。 –

+0

如果您持有一個普通按鍵,將會重複觸發'按鍵',但每次擊鍵時'keydown'只會觸發一次。 –

+0

這是出於同樣的原因,因爲它首先發射。其頻率取決於鍵盤設置。 –

5

我不知道你做錯了什麼在你的代碼,但jQuery也說F5116t84

http://jsfiddle.net/Brjb2/1

一個可能的錯誤是keypress都會有不同keycode,這就是爲什麼​​是更優選的。

 | T | A | F5 
keydown | 86 | 65 | 116 
keypress| 116 | 97 | - 

還壓着F5不會觸發keypress,因爲重新加載部分keypress之前發生。

+0

+1爲使用jFiddle顯示使用示例 – davewoodhall

相關問題