Vetragon
Vetragon

Reputation: 416

Jquery prevent window closing

I want to ask user whether he really want to leave the page or not, when he clicks the close button just like it done in google docs. How to do that using jquery?

Upvotes: 22

Views: 40616

Answers (2)

Prody
Prody

Reputation: 5298

You set the window's onbeforeunload property to a function.

This post has a good example on how to do it.

Or another example:

<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;" />


And to set needToConfirm for your form you can:

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

Upvotes: 30

Dilhan Jayathilaka
Dilhan Jayathilaka

Reputation: 39

Following worked for me;

 $(window).unload(function() {
                if(event.clientY < 0) {
                    //do whatever you want when closing the window..
                }
            });

Upvotes: 3

Related Questions