Heim >Web-Frontend >js-Tutorial >Wie kann ich das Schließen von Browserfenstern erkennen, ohne Formularübermittlungen abzufangen?
Erfassen des Browserfenster-Schließereignisses ohne Abfangen der Formularübermittlung
Um das Browserfenster-Schließereignis speziell zu erfassen und Konflikte mit der Formularübermittlung zu vermeiden, wird jQuery vor dem Entladen verwendet Das Ereignis „beforeunload“ kann mit einer geringfügigen Änderung ausgenutzt werden.
Das Ereignis „beforeunload“ löst in seiner jetzigen Form jede Aktion aus, die es verursacht die Seite, die verlassen werden soll. Um es nur auf Fensterschließereignisse zu beschränken, verwenden wir den folgenden Ansatz:
Im beforeunload-Ereignishandler prüfen wir den Wert von inFormOrLink.
Der aktualisierte Code für jQuery-Versionen 1.7 und höher:
var inFormOrLink; $('a').on('click', function() { inFormOrLink = true; }); $('form').on('submit', function() { inFormOrLink = true; }); $(window).on("beforeunload", function() { return inFormOrLink ? "Do you really want to close?" : null; })
Für ältere Versionen von jQuery (vor 1.7):
var inFormOrLink; $('a').live('click', function() { inFormOrLink = true; }); $('form').bind('submit', function() { inFormOrLink = true; }); $(window).bind("beforeunload", function() { return inFormOrLink ? "Do you really want to close?" : null; })
Das obige ist der detaillierte Inhalt vonWie kann ich das Schließen von Browserfenstern erkennen, ohne Formularübermittlungen abzufangen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!