Javascript 如何在Chrome中防止页面刷新或默认提示框

Javascript 如何在Chrome中防止页面刷新或默认提示框,javascript,jquery,dom-events,Javascript,Jquery,Dom Events,在我的测验应用程序中,一个页面中有10个问题,所有问题都是输入控件,我输入所需答案,在刷新页面而不提交的过程中,浏览器会弹出以下窗口 解决方案: 我想要一个自定义弹出窗口,而不是Chrome弹出窗口,上面写着你需要完成所有的测试并提交, 或者禁用刷新 如何做到这一点,有没有更好的解决方案 要防止页面刷新,请侦听窗口对象的beforeunload事件,并调用事件参数的preventDefault方法 参考文献 是否可以在卸载之前在自定义弹出框或引导对话框中执行此操作?如果可以,请将代码放入回调中。

在我的测验应用程序中,一个页面中有10个问题,所有问题都是输入控件,我输入所需答案,在刷新页面而不提交的过程中,浏览器会弹出以下窗口

解决方案:

我想要一个自定义弹出窗口,而不是Chrome弹出窗口,上面写着你需要完成所有的测试并提交, 或者禁用刷新

如何做到这一点,有没有更好的解决方案


要防止页面刷新,请侦听窗口对象的beforeunload事件,并调用事件参数的preventDefault方法

参考文献


是否可以在卸载之前在自定义弹出框或引导对话框中执行此操作?如果可以,请将代码放入回调中。不,您不能强制用户留在页面上。最多可以提示用户确认页面离开/重新加载。
window.addEventListener("beforeunload", function(e){
   // Do something
   e.preventDefault();
}, false);