由于在我的项目中运行考试测试,我想阻止用户按下F5按钮。
如果我使用普通的浏览器窗口,我的代码工作正常,但现在我想在弹出窗口中使用它 - 在弹出窗口中我的代码无效。我的代码是:
document.onkeydown=function(e) {
var event = window.event || e;
if (event.keyCode == 116) {
event.keyCode = 0;
alert("This action is not allowed");
return false;
}
}
答案 0 :(得分:1)
试试这个
myWindow=window.open('','','width=200,height=100');
myWindow.document.write("<p>This is 'myWindow'</p>");
myWindow.focus();
myWindow.onkeydown=function(e) {
var event = window.event || e;
if (event.keyCode == 116) {
event.preventDefault();
alert("This action is not allowed");
}
}
答案 1 :(得分:1)
document.onkeydown = function(e){
var event = (window.event || e);
if(event.keyCode==116){
event.preventDefault();
alert("This action is not allowed");
}
}
您不需要这段代码:event.keyCode = 0;
- 按下键后更改keyCode不会影响任何内容。
答案 2 :(得分:0)
如果你想要的是压制你的网页,那么你应该问为什么你需要这个。如果不重新发送已发送的数据,那么您应该使用不同的php文件来处理数据,使用不同的文件将其显示给用户。这样你可以检查是否有任何错误并相应地重定向他。
如果由于某些特定原因需要通过F5防止刷新,那么Cobra_Fast建议e.preventDefault();
应该做什么。