jQuery防止窗口关闭

22

我想在用户点击关闭按钮时,像Google文档一样询问用户是否真的要离开页面。如何使用jQuery实现此功能?

2个回答

30

你将窗口的 onbeforeunload 属性设置为一个函数。

这篇帖子有一个很好的例子,展示了如何做到这一点。

或者另一个例子:

<script language="JavaScript">
  var needToConfirm = true;

  window.onbeforeunload = confirmExit;
  function confirmExit()
  {
    if (needToConfirm)
      //return message to display in dialog box;
  }
</script>

...

<input type="Submit" value="Save" onclick="needToConfirm = false;" />


要为表单设置needToConfirm,您可以执行以下操作:

$(document).ready(function() { 
    $(':input', document.myForm).bind("change", function() { needToConfirm = true; }); // Prevent accidental navigation away
});

3
这对我起作用了;
 $(window).unload(function() {
                if(event.clientY < 0) {
                    //do whatever you want when closing the window..
                }
            });

2
我认为'beforeunload'事件更有用,可以询问用户是否要保存更改:$(window).bind('beforeunload', function() { ... }); - Alexis Wilke
啊!看起来这在过去几年里有所改变......所以在2011年可能仍然有效。 - Alexis Wilke

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接