jquery - 按 F5 不会触发 mouseup 事件

标签 jquery jquery-events

我正在使用 jQuery 的 keyup 事件。除 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>

我在按下所有键时收到警报,但使用 F5 时无法正常工作。 有时会使用 F5 触发警报,有时则不会。我已经在 Chrome 和 Firefox 上尝试过了。

最佳答案

F5重新加载页面。

页面重新加载似乎是在 keydown 上启动的或keypress事件,所以你的alert开火太晚。根据您按下该键的时间长短,mouseup事件仍然会被触发,并且警报会短暂显示,但不会阻止重新加载过程。

如果将处理程序绑定(bind)到 keydown同样,页面重新加载仅在警报解除后执行。

DEMO (首先单击空白的 HTML 区域,也确保其聚焦)

关于jquery - 按 F5 不会触发 mouseup 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24156873/

相关文章:

JavaScript 重置事件

javascript - 对象文字和事件监听器,最佳实践?

javascript - 动态添加输入字段,但字段由外部 PHP 函数生成

javascript - 如何确定变量是否未定义

javascript - 使用 jquery 将 div 包裹在字符串周围

jquery 在 Firefox 中返回 null 背景值

javascript - jQuery 中的 window.resize 多次触发

jquery - 如何使 jQuery 对话框使用超链接文本而不是按钮?

javascript - for循环字符串每个单词

javascript - jQuery 如何处理嵌套函数和事件计时?