Sagen wir, ich HTML haben ...Wie fügt man mit jQuery einen Bestätigungsdialog zu vielen verschiedenen Tasten gleichzeitig hinzu?
<button class="btn-remove-this">Remove this</button>
<button class="btn-remove-that">Remove that</button>
<button class="btn-remove-some-other-thing">Remove some other thing</button>
<!-- and many more 'Remove ...' buttons -->
... und JavaScript.
$(function() {
$('.btn-remove-this').click(function() {
functionWhichRemovesThis();
}
$('.btn-remove-that').click(function() {
functionWhichRemovesThat();
}
$('.btn-remove-some-other-thing').click(function() {
functionWhichRemovesSomeOtherThing();
}
// and many more click handlers
});
Jetzt möchte ich den Benutzer mit einem Bestätigungsdialogfeld auffordern, bevor alle diese Dinge entfernt werden. Gibt es eine Möglichkeit, dies zu tun, ohne confirm
in jedem einzelnen Klick-Handler hinzuzufügen und aufzurufen?
ich in meinem Kopf etwas haben eine einzige Klasse zu all den verschiedenen Tasten wie das Hinzufügen (wir btn-remove
sagen) und dann einen einzigen Klick-Handler hinzugefügt, die wie folgt aussehen könnte:
$('.btn-remove').click(function() {
if (confirm('Are you sure you want to remove this?')) {
// execute the body of the "more specific" click handler
} else {
// prevent the body of the "more specific" click handler from executing
}
}
ja, Sie sind in einer richtigen Spur. mach weiter. –
Ja, das ist die Art und Weise, die Sie tun müssen. Haben Sie eine einzelne Klasse und tun Sie es. –
Ja, Sie sind in der richtigen Weise. Sie können es tun :) –