Javascript 更改F5按钮的行为

Javascript 更改F5按钮的行为,javascript,jquery,google-chrome,firefox,mozilla,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("

我想更改浏览器的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();
     }
编辑

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


尝试使用此使用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?";
}


我希望我帮了你

你确定其他代码不会干扰吗

我在空白页上试过这个:

<html>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script type="text/javascript">
function disableF5(e) {
  debugger;
  alert("F5 Hit");
  if (e.which === 116 || e.keyCode === 116) {
    e.preventDefault();
    alert("F5 Identified");
  }
}

$(function() {
    alert("Page loaded");
    $(document).on("keydown", disableF5);
});
</script>

</html>

有可能吗?我想有些特殊的钥匙是不能更改的,比如
echap
。但是我可能错了。@Vadorequest-看看下面的帖子你好,奥利弗,谢谢。我试过你的代码(因为有一些拼写错误,所以编辑了一点,请看我的编辑帖子)还有其他想法吗?再次感谢@约翰杰比你好,是的,我想你已经试过了。我做了一点调查,似乎你想做的几乎是不可能的,因为你试图破坏一个基本的浏览器功能。嗨,奥利弗,我认为这是可能的,根据这篇文章@johnjerby awesome,我希望能解决你的问题奥利弗,谢谢!当我复制代码以清空html时,它正在工作,但当我从我的应用程序运行它时,它不工作,你知道会有什么问题吗?感谢我在浏览器中测试了你的代码,它似乎工作了,问题是当我将此代码带到我的应用程序时,它不工作,调用了文档就绪,但F5函数不工作,你知道如何解决这个问题吗?我会尝试搜索是否有人像你说的那样按下了键,但没有找到(chrome开发工具中有一种方法可以找到这样的东西-不使用CTRL+F)?我会在浏览器(或本地)上对你网站的根文件夹执行基于文件的搜索
<html>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script type="text/javascript">
function disableF5(e) {
  debugger;
  alert("F5 Hit");
  if (e.which === 116 || e.keyCode === 116) {
    e.preventDefault();
    alert("F5 Identified");
  }
}

$(function() {
    alert("Page loaded");
    $(document).on("keydown", disableF5);
});
</script>

</html>
if(e.keyCode === 82 && e.ctrlKey)