Beim Ändern von Daten auf einer Webseite möchte man häufig verhindern, dass Benutzer wegnavigieren, ohne sie zu speichern Änderungen. Dies kann mit dem window.onbeforeunload-Ereignis erreicht werden.
Legacy-Browser (IE6-8, Firefox 1-3.5)
Setze window.onbeforeunload zu einer Funktion, die eine Zeichenfolge zurückgibt:
window.onbeforeunload = function() { return "Unsaved changes. Are you sure you want to leave?"; };
Entfernen Sie das Ereignis, um es zu deaktivieren:
window.onbeforeunload = null;
Moderne Browser ( Chrome, Firefox usw.)
Aktivieren Sie die Eingabeaufforderung:
window.onbeforeunload = function() { return true; };
Eingabeaufforderung deaktivieren:
window.onbeforeunload = null;
Um festzustellen, ob Änderungen vorgenommen wurden, verwenden Sie ein Validierungsframework oder Ihr eigenes benutzerdefiniertes Ereignis Handler.
jQuery-Beispiel:
$('input').change(function() { if ($(this).val() != "") { // Enable the prompt window.onbeforeunload = function() { return true; }; } });
Browserspezifische Überlegungen
Das obige ist der detaillierte Inhalt vonWie kann ich verhindern, dass Benutzer eine Webseite mit nicht gespeicherten Änderungen verlassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!