2016-04-08 10 views
0

Können wir die Seite überschreiben, die den Bestätigungsdialog mit benutzerdefiniertem Dialogfeld wie jQuery UI-Dialog verlässt?onbeforeunload bestätigen Dialog kann mit benutzerdefinierten Dialogfeld mit gutem Design angepasst werden?

Ich versuche es so zu implementieren:

var Warnung = true;
var v_leavemsg = "Möchten Sie die Seite wirklich verlassen?"; window.onbeforeunload = confirmExit;

Funktion confirmExit() {
if (Warnung) {
// Custom Dialog Funktionsaufruf
f_customdialog (v_leavemsg);
Rückgabewert null;
}
}


Funktion f_customdialog (msg) {
// EG. WIR KÖNNEN JQUERY DIALOG HIER mit "Ja" oder "Nein" Taste verwenden
alert (msg);
}

+0

Ja, Sie können. Sie können jede Funktion an onbeforeunload binden, so dass Sie den gewünschten Dialog anzeigen können. Wenn bereits ein anderer Event-Handler gebunden ist, entfernen Sie ihn einfach. – Shilly

Antwort

0

Ich bin nicht sicher, aber wenn es einen Weg gibt Ihnen die Ausführung von Code stoppen müsste, wenn onbeforeunload Anrufe Funktion gegeben.

Was bis zu meinem Sinne kommt, ist, dass Sie false auf dem ersten Anruf zurückkehren konnten und benutzerdefinierten Dialog schaffen, würde, wenn der Benutzer Website verlassen will, onbeforeunload Ereignis mit geändert onbeforeunload Funktion auslösen, die standardmäßig wahr dann zurückkehren würde.

Auf diese Weise können Sie möglicherweise "Trick" Standardverhalten.

Problem ist, dass onbeforeunload ist synchron und jeder benutzerdefinierte Dialog ist nicht. Es arbeitet mit dem nativen Dialog, da es synchron ausgeführt wird.

Nicht sicher, ob das aber funktioniert.

+0

Hallo, Herr Br, Vielen Dank für Ihre Antwort. Aber es wird nicht funktionieren. Es wird einfach "falsch" gemeldet und kein Funktionsaufruf funktioniert. Ich wollte nur die Standardseite außer Kraft setzen und den Bestätigungsdialog mit dem jquery UI-Dialogfeld verlassen, um ein benutzerdefiniertes Dialogfeld zu erstellen. –

Verwandte Themen