Weiß jemand, wie man verhindert, dass eine Seite neu geladen oder weg navigiert wird?
jQuery (Funktion ($) { / * global beim Entladen * / Warnung = wahr; if (Warnung) { $ (Fenster) .bind ("entladen", function () { if (bestätigen ("Möchten Sie diese Seite verlassen") == true) { // Sie drückten OK alert ('ok'); } else { // Sie drückten Abbrechen alert ('Abbrechen'); falsch zurückgeben; }} }); }} });
Ich arbeite gerade an einer E-Commerce-Website. Auf der Seite, auf der Ihre zukünftigen Bestellungen angezeigt werden, können Sie die Anzahl der bestellten Artikel mithilfe der Schaltflächen +/- ändern. Wenn Sie die Mengen auf diese Weise ändern, ändert sich die Bestellung selbst nicht. Sie müssen auf Bestätigen klicken und daher eine positive Aktion ausführen, um die Bestellung zu ändern.
Wenn sie jedoch die Mengen geändert haben und von der Seite weg navigieren, möchte ich sie warnen, dass sie dies tun, falls dies ein Unfall ist, da die geänderten Mengen verloren gehen, wenn sie weg navigieren oder die Seite aktualisieren.
Im obigen Code verwende ich eine globale Variable, die standardmäßig falsch ist (dies gilt nur für Tests). Wenn eine Menge geändert wird, aktualisiere ich diese Variable auf wahr und wenn sie die Änderungen bestätigt, setze ich sie auf falsch .
Wenn die Warnung wahr ist und die Seite entladen wird, biete ich ihnen ein Bestätigungsfeld an. Wenn sie Nein sagen, möchten sie auf dieser Seite bleiben, muss ich das Entladen verhindern. return false funktioniert nicht, lässt den Benutzer dennoch weg navigieren (die Warnungen dienen nur zum Debuggen)
Irgendwelche Ideen?