Die meisten Browser zeigen die benutzerdefinierte Nachricht nicht an, die an confirm()
.
Mit dieser Methode können Sie ein Popup mit einer benutzerdefinierten Nachricht anzeigen, wenn Ihr Benutzer den Wert einer <input>
Feld.
Sie können dies anwenden nur zu einigen Links oder sogar andere HTML-Elemente auf Ihrer Seite. Fügen Sie einfach eine benutzerdefinierte Klasse zu allen Links hinzu, die bestätigt werden müssen, und verwenden Sie den folgenden Code:
$(document).ready(function() {
let unsaved = false;
// detect changes in all input fields and set the 'unsaved' flag
$(":input").change(() => unsaved = true);
// trigger popup on click
$('.dangerous-link').click(function() {
if (unsaved && !window.confirm("Are you sure you want to nuke the world?")) {
return; // user didn't confirm
}
// either there are no unsaved changes or the user confirmed
window.location.href = $(this).data('destination');
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" placeholder="Nuclear code here" />
<a data-destination="https://en.wikipedia.org/wiki/Boom" class="dangerous-link">
Launch nuke!
</a>
Versuchen Sie, den Eingabewert im Beispiel zu ändern, um zu sehen, wie es funktioniert.