阻止F5刷新在Chrome中无效

时间:2017-10-06 11:11:29

标签: javascript

这是以前工作过的代码,但现在已经不再适用了。有谁知道为什么?

document.onkeydown = function()
 {
      if(event.keyCode==116) {
          event.keyCode=0;
          event.returnValue = false;
      }
}

// To avoid refresh, using context menu of the browser
document.oncontextmenu = function() {event.returnValue = false;}

3 个答案:

答案 0 :(得分:1)

您在功能中引用了event,但实际上并未传递它:

document.onkeydown = function(){ /* ... */ }
document.oncontextmenu = function() {event.returnValue = false; }

// should be
document.onkeydown = function(event){ /* ... */ }
document.oncontextmenu = function(event) {event.returnValue = false; }

在oncontextmenu的第一个版本中,你将对象'event'的'returnvalue'设置为false,但它不存在,因为你从未真正将它传递给函数。

答案 1 :(得分:0)

在您的功能中接收事件

document.onkeydown = function(event)
 {
          if(event.keyCode==116) {
          event.keyCode=0;
          event.returnValue = false;
          }
}

或尝试阻止该键的操作

document.onkeydown = function(event)
 {
          if(event.keyCode==116) {
          event.preventDefault();          
          }
}

答案 2 :(得分:0)

试试这个

 <script>
 window.onload = function () {
    document.onkeydown = function (e) {
        return (e.which || e.keyCode) != 116;
    };
 }
</script>