2

我已经编写了一些代码来阻止F5网页上的密钥。它工作正常,除非我必须显示大量数据。如果您F5在生成 HTML 和 JavaScript 代码的加载期间按下该键,我的页面将被刷新。

这是我用来阻止F5密钥的代码:

document.onkeydown = fn;

var fn = function (e){ 
    if (!e) 
        var e = window.event;
    var keycode = e.keyCode;    
    if (e.which) 
        keycode = e.which;
    var src = e.srcElement;  
    if (e.target) 
        src = e.target;
    // 116 = F5     
    if (116 == keycode) {
        // Firefox and other non IE browsers
        if (e.preventDefault) { 
            e.preventDefault(); 
            e.stopPropagation();
          // Internet Explorer
        }else if (e.keyCode){ 
            e.keyCode = 0; 
            e.returnValue = false; 
            e.cancelBubble = true; 
        } 
            return false; 
    }
});

我认为在生成 HTML 和 JavaScript 代码时此代码不起作用。

4

2 回答 2

-1

我有一些非常简单的代码来防止我自己使用的 F5。适用于 IE、Chrome 和 Firefox:

function disableButtonsDown(e) { 
    if ((e.which || e.keyCode) == 116) e.preventDefault(); 
};
$(document).on("keydown", disableButtonsDown);
于 2015-05-01T10:12:32.283 回答
-1
document.onkeydown=disableF5;
var version = navigator.appVersion;

function disableF5(e) 
{   var keycode = (window.event) ? event.keyCode : e.keyCode;

    if ((version.indexOf('MSIE') != -1)) 
    {  if (keycode == 116) 
       {  event.keyCode = 0;
          event.returnValue = false;
          return false;
       }
    }
    else 
    {  if (keycode == 116) 
          return false;
    }
}
于 2015-05-01T09:36:53.323 回答