Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery提示在卸载前保存数据_Javascript_Jquery_Asp.net_Asp.net Mvc_Jquery Ui - Fatal编程技术网

Javascript jquery提示在卸载前保存数据

Javascript jquery提示在卸载前保存数据,javascript,jquery,asp.net,asp.net-mvc,jquery-ui,Javascript,Jquery,Asp.net,Asp.net Mvc,Jquery Ui,我想提醒用户在使用jQueryUI对话框离开某些页面之前(通过单击页面上的其他链接),先在这些页面上保存数据。我知道我需要使用onbeforeunload事件来检测用户正在离开当前页面,然后显示对话框。但是,当用户单击对话框上的“是”时,如何允许导航继续到选定的url,当用户单击“否”时,如何允许导航停留在当前页面上 谢谢 您只需将带有提示的函数分配给window.onbeforeunload事件,例如: window.onbeforeunload = function() {

我想提醒用户在使用jQueryUI对话框离开某些页面之前(通过单击页面上的其他链接),先在这些页面上保存数据。我知道我需要使用onbeforeunload事件来检测用户正在离开当前页面,然后显示对话框。但是,当用户单击对话框上的“是”时,如何允许导航继续到选定的url,当用户单击“否”时,如何允许导航停留在当前页面上


谢谢

您只需将带有提示的函数分配给window.onbeforeunload事件,例如:

window.onbeforeunload =
    function() {
        return "Please make sure your data is saved."
    }
阅读后,浏览器会自动提示用户两个选项:“离开此页”和“留在此页”


并且,我们钩住window.onbeforeunload并绑定到$(window.unload)。下面是一个带有示例的JSFIDLE:

您所能做的就是让浏览器通过“onbeforeunload”机制让用户确认他们想要离开页面。编辑哦,等等-你是问你是如何发现他们决定不离开你的页面的,对吗?@Pointy我的网站已经使用了jquery ui对话框,所以我想在这种情况下也使用它,并能够自定义对话框。但是,我如何编码单击“是”意味着继续原始请求,而“否”信号保持在同一页面上?这就是问题所在。当用户单击“否”停留在页面上时,净效果是什么都没有发生——就像用户从未单击触发事件的任何东西一样。因此,我不认为有任何方法可以直接做你想做的事情,除了尝试在“onbeforeunload”处理程序中向
添加一个类,然后让CSS对布局进行一些更改,或者做一些其他事情。