2010-11-06 6 views
8

Ich möchte eine Funktion implementieren, die, wenn ein Benutzer von einer Seite weg navigiert und sie nicht gespeicherte Änderungen auf der Seite haben sie gewarnt werden. Also muss ich das Ereignis erfassen, das von der Seite auf Bewegung ausgelöst wird, und benutzerdefinierte Aktionen ausführen. In der Hoffnung, dies mit jQuery zu tun. Irgendwelche Tipps?Capture User Verlassen der Seite mit Jquery

Antwort

15

Sie können nicht das tun mit jQuery, aber Sie können einen Handler window.onbeforeunload mit einfachen JavaScript anhängen:

window.onbeforeunload = function() { 
    return "You have unsaved changes, do you want to leave?"; 
}; 

dies nur binden, wenn sie Änderungen an irgendwelchen Eingaben und es entbinden, wenn das Schlagen speichern Schaltfläche (so wird es bei der Einreichung nicht aufgefordert) mit window.onbeforeunload = null;.

+0

jQuery kann das Ereignis mit bind behandeln, aber ich bin nicht sicher, dass es über Browsern normalisiert wird. – zzzzBov

+0

@zzzzBov - Es * funktioniert nicht cross-browser ... so funktioniert es nicht :) –

+0

IE 8 hält null für eine Rücksendung, so dass das Ereignis sowieso mit dem Standardtext ausgelöst wird. –

Verwandte Themen