Como evitar que o usuário altere a página com jQuery

Eu tenho uma página com um formulário que é enviado via ajaxSubmit () (assim, sem alterar a página).

Meu objetivo é que, quando o usuário tentar mudar de página (ou até mesmo fechar o navegador), eu pergunto se realmente quer sair da página sem enviar o formulário (exatamente como o Gmail faz).

O Gmail, por exemplo, faz isso com um pop-up window.confirm-like, mas se for possível, eu gostaria de lidar com mensagens e opções personalizadas.

jQuery tem o evento unload:

$(window).unload( function () { alert("Bye now!"); } );

mas me permite apenas fazer algo antes de sair da página; Eu preciso "bloquear" a saída da página, se o usuário clicar no botão relativo.

Então, como manipular (e cancelar) o evento de saída de página?

questionAnswers(2)

yourAnswerToTheQuestion