无法在 IE8 中禁用 F5 键
Unable to disable F5 key in IE8
我想在我的 Web 应用程序中禁用 F5 键。我正在使用以下代码:
<html>
<head>
<script type="text/javascript">
window.onkeydown=function(e) {
if (e.keyCode === 116 ) {
alert("This action is not allowed");
e.keyCode = 0;
e.returnValue = false;
return false;
}
}
</script>
</head>
<body>
<p> F5 Test IE8</p>
</body>
</html>
上面的代码在Chrome中工作正常,但在IE8中它不起作用。按 F5 时,页面将在 IE8 上刷新。我尝试使用e.preventDefault(),但没有任何效果。有什么帮助吗??
尝试下一个代码:
<html>
<head>
<script type="text/javascript">
document.onkeydown=function(e) {
e=e||window.event;
if (e.keyCode === 116 ) {
e.keyCode = 0;
alert("This action is not allowed");
if(e.preventDefault)e.preventDefault();
else e.returnValue = false;
return false;
}
}
</script>
</head>
<body>
<p> F5 Test IE8</p>
</body>
</html>
- 必须使用
document
对象而不是window
对象。在IE8中window
对象不支持onkeydown
。 - 您必须使用
e=e||window.event;
代码行,因为在IE8中-当事件注册为element.on...
时,事件处理程序函数中没有接收到任何参数(e
您的示例中undefined
);
在IE8,Firefox和chrome中测试:
document.onkeydown=function(e) {
var event = window.event || e;
if (event.keyCode == 116) {
event.keyCode = 0;
alert("This action is not allowed");
return false;
}
}
另请参阅此示例。
相关文章:
- 单击F5时如何停止页面加载
- Recaptcha在IE7和IE8中不起作用
- Joomla Gantry Framework ie8 LESS/CSS
- 为什么jQuery 1.8不能在IE8和InternetExplorer9中使用?(截至2012年9月的IE9最新版本)
- 如何在火狐浏览器中禁用F5和刷新
- 在IE8中不起作用的元素上触发单击事件
- 谷歌地图v3标记没有显示ie8和9
- 数据-在IE8中不起作用
- 如何在用户按下F5键或单击浏览器时显示自定义的fancybox's后退/关闭按钮
- 在IE8上使用jQuery克隆HTML5元素和事件
- 仅IE8 html文本框中的字符
- getComputedStyle替换:currentStyle(IE8/7)不起作用
- IE8更改文本区域上的事件侦听器不工作
- 如何确定相对较新版本的IE的高度和宽度(IE8不喜欢从JavaScript设置这种样式吗?
- jquery validate 1.8.1”;jQuery"是未定义的错误IE8
- 如何在IE8及以前版本中处理mousemove
- .Net webApi ISO日期时间和IE8
- javascript表单字段submit:Object dos'在IE8中不支持此属性或方法
- 如何在不按ctrl+F5的情况下更新我的Web应用程序(chrome、mozilla、IE8+)更改
- 无法在 IE8 中禁用 F5 键