2009-10-14 16 views

risposta

28

Si imposta la proprietà onbeforeunload della finestra su una funzione.

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

Oppure un altro esempio:

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


E per impostare needToConfirm per il modulo è possibile:

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

JQuery UI può essere utile per voi - vedere this link. Mostra alcuni tipi di dialogo diversi: quello che vuoi è "Conferma modale", penso. Tenete a mente, però, che la libreria dell'interfaccia utente di JQuery è piuttosto pesante, quindi potrebbe essere meglio per voi cercare un'opzione più personalizzata (alcuni sono venuti alla ricerca di JQuery Confirm Modal). Non posso garantire la qualità di queste soluzioni come non le ho mai provate.

+2

Perché il voto negativo su un post fatto quasi 7 anni fa ?? – n00dle

3

Dopo aver lavorato per me;

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

Penso che l'evento 'beforeunload' sia molto più utile per chiedere all'utente se vuole salvare le sue modifiche: '$ (window) .bind ('beforeunload', function() {...});' –

+0

Ah! Sembra che questo sia cambiato negli ultimi anni ... quindi nel 2011 potrebbe ancora funzionare. –

Problemi correlati