javascript - 更改 F5 按钮的行为

标签 javascript jquery google-chrome firefox mozilla

我想更改浏览器的 F5 刷新按钮的行为 例如,当用户单击 F5 时,页面将不会刷新,并且会出现一些警报,目前我已经尝试使用此代码(在论坛中搜索后找到),但它不起作用,我引用了 jquery cdn。知道缺少什么吗?

function disableF5(e) {
debugger;
    alert("clicked");
    if (e.which === 116 || e.keyCode === 116) {

        e.preventDefault();
        alert("clicked");
    }
}

$(function() {

    $(document).on("keydown", disableF5);
});

我也尝试了以下方法,但这也不起作用,知道我在这里错过了什么吗?

 document.addEventListener('keydown', function(e) {
     debugger;
     if(e.which === 116 || e.keyCode === 116) {
         alert("1234");
         e.preventDefault();
     }

编辑

还尝试了以下方法,但它仍然没有在调试器中停止,并且我没有看到警报(我提供的所有示例都在文档中停止)

function disableF5(e) {
    if ((e.which || e.keyCode) === 116 || (e.which || e.keyCode) === 82) {
        debugger;
        alert("test")
        e.preventDefault();
    }}

    $(document).ready(function() {
        $(document).on("keydown", disableF5);
    });

最佳答案

尝试使用此使用 JavaScript 和 Jquery 的方法:

function disableF5(e) {
  if ((e.which || e.keyCode) == 116 || (e.which || e.keyCode) == 82)
  e.preventDefault();
};

$(document).ready(function(){
  $(document).on("keydown", disableF5);
});

注意:
我不建议阻止页面刷新,但是我建议使用弹出窗口警告用户离开页面,例如:

window.onbeforeunload = function() {
    return "Are you sure you want to leave?";
}

source
希望对您有所帮助

关于javascript - 更改 F5 按钮的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26469145/

相关文章:

javascript - 使用 Gulp 时如何将 React 设置为生产模式

javascript - 从 Sencha Touch 中的 javascript 数组动态添加项目

jquery - 如何使用 jquery 读取列表框中所有项目的值

javascript - Chrome 扩展 : Interacting with iframe embedded within popup

javascript - 延迟脚本直到所有消息都已通过?

javascript - 客户端模板和搜索引擎引用

javascript - 如何在 iPad 上打开 HTML 项目

javascript - 更改每个空元素的样式

javascript - 使用修改后的 .click 函数扩展 jQuery

javascript - jQuery/jsrender - 未捕获 RangeError : Maximum call stack size exceeded