jquery - 在 JQuery 中处理 F5

标签 jquery javascript

我有一个站点,我想在其中覆盖 F5,这样它就不会刷新页面,而是执行一些 ajax 调用来刷新某些部分。这可能吗?

编辑:因为你们似乎都不明白为什么我想做这样的事情,如果您真的感兴趣,请访问这些链接:

开源项目(简单的网络终端): http://code.google.com/p/web-terminal

运行简单网络终端的演示: http://web-terminal.net.pine.arvixe.com

现场执行(论坛版): http://www.u413.com

最佳答案

好吧,你可以这样做(至少在某些浏览器中,我不确定这是否适用于跨浏览器),但这确实会是一个非常糟糕的用户体验。

$(document).bind('keypress keydown keyup', function(e) {
    if(e.which === 116) {
       console.log('blocked');
       return false;
    }
    if(e.which === 82 && e.ctrlKey) {
       console.log('blocked');
       return false;
    }
});

无论如何,即使这样可行,用户也可以通过其他方式刷新网站。按 ctrl + r (cmd + r) 或直接点击刷新按钮。好吧,其他热键组合可以类似地被阻止,但无法阻止刷新按钮。

--

最好不要阻止这些默认的浏览器行为,而是优雅地询问。这可以通过将事件处理程序绑定(bind)到 onbeforeunload 事件来完成,该事件在网站卸载之前触发。

$(window).bind('beforeunload', function() {
    return 'Are you really sure?';
});

关于jquery - 在 JQuery 中处理 F5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4788201/

相关文章:

javascript - 未能对先前事件的元素调用操作

javascript - 从 anchor 内的 span 元素到列表的 DOM 遍历

javascript - 如果条件在 JAVASCRIPT 中不起作用

javascript - 当范围值发生变化时,如何使用 angularJs 更新 UI?

javascript - jQuery UI - 在移动事件或恢复完成后调用函数

Javascript,如何使用正则表达式解析字符串

javascript - Google Maps Javascript API 绘制多个圆圈时出现问题

javascript - jquery find函数返回html不存在的注释

javascript - 从左到右移动对象

Javascript 打印不适用于 css 更改