我有一个网站,我想覆盖F5,以便它不刷新页面,而是执行一些ajax调用来刷新某些部分.这可能吗?
编辑:因为你们似乎都不明白我为什么要做这样的事情,如果你真的有兴趣那么请访问这些链接:
开源项目(简单的web终端):
http://code.google.com/p/web-terminal
简单的web终端的运行演示:
http://web-terminal.net.pine.arvixe.com
实时实施(论坛版):
http://www.u413.com
解决方法
这与上面接受的答案相同,只是没有捕获’keypress’事件.
如果您捕获’keypress’事件,则还会阻止’t’键.出于某种原因,如果使用’keypress’事件(在chrome调试器中看不到),则会捕获键码和ASCII键码. F5键为’116′,但’t’的ASCII键码也是116,所以使用’keypress’事件可以阻止F5,但你也可以阻止’t’应用程序范围.
$(document).bind('keydown keyup',function(e) { if(e.which === 116) { console.log('blocked'); return false; } if(e.which === 82 && e.ctrlKey) { console.log('blocked'); return false; } });
这是coffeescript只是为了好玩:)
$(document).bind "keydown keyup",(e) -> if e.keyCode is 116 console.log "blocked" return false if e.keyCode is 82 and e.ctrlKey console.log "blocked" false