按F5不会触发mousup事件

Var*_*dan 1 jquery javascript-events

我正在使用keyupjQuery 的事件.除了以外所有键都能正常工作F5.这是代码:

<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
  $(document).keyup(function(e){
    alert(e.keyCode); // This is not working always when we press F5
  });
});
</script>
</head>
</html>
Run Code Online (Sandbox Code Playgroud)

我按下所有按键时都会发出警报但是它没有正常工作F5.有时会发出警报F5,有时不会发出警报.我在Chrome和Firefox上试过这个.

Fel*_*ing 8

按下F5重新加载页面.

看起来页面重新加载是在keydownkeypress事件上启动的,所以你的alert火灾太晚了.根据您按键的时间长短,mouseup事件仍然会被触发,警报会短暂显示,但不会阻止重新加载过程.

如果将处理程序绑定到keydown事件,则仅在取消警报后执行页面重新加载.

DEMO(首先点击空的HTML区域,确保它集中)