首页 新闻 会员 周边 捐助

阻止浏览器默认行为

0
悬赏园豆:5 [已解决问题] 解决于 2013-12-30 15:17
 注册了一个keyup||keydown事件判断keyCode
通过preventDefault和stopPropagation阻止不了f5  backspace(浏览器刷新页面,回退) 的默认行为 
js
三剑客的主页 三剑客 | 初学一级 | 园豆:92
提问于:2013-12-30 13:56
< >
分享
最佳答案
1

这是浏览器安全限制,要是JavaScript都能改浏览器这些行为,岂不是很危险

 

另寻它径吧骚年

收获园豆:5
谦行 | 菜鸟二级 |园豆:473 | 2013-12-30 14:04

解决了,可以的

三剑客 | 园豆:92 (初学一级) | 2013-12-30 15:16

@三剑客: 求指导

谦行 | 园豆:473 (菜鸟二级) | 2013-12-30 18:54

@dolphinX: 

$(document).on('keydown',function(e){
/*禁止f5刷新,backspace回退,ctrl+r*/
var ev= e.originalEvent,code = ev.keyCode || ev.which,ctrlR=(ev.ctrlKey&&code===82);
if (code === 116||code===8||ctrlR){
ev.keyCode ? ev.keyCode = 0 : ev.which = 0;/*for IE*/
e.preventDefault();
}
});

三剑客 | 园豆:92 (初学一级) | 2013-12-30 21:09
其他回答(1)
0

浏览器刷新、回退是浏览器这个软件的功能,和preventDefault,stopPropagation无关,他们是阻止冒泡和a 标签url跳转、双击选中文字等。

|WinKi| | 园豆:669 (小虾三级) | 2013-12-30 14:21
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册