2012-12-14 155 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

相关问题