11 Stimme

jQuery: event.preventDefault() rückgängig machen

Frage von SmartUser | Letztes Update am 18.10.2020 | Erstellt am 26.05.2012

Bei einer Submit-Form auf meiner Homepage benutze ich mit jQuery ein event.preventDefault. Allerdings möchte ich im Code je nach Umständen später doch wieder zulassen, dass die Form abgeschickt wird.

Ist es daher irgendwie möglich ein preventDefault() wieder zurück zu nehmen?

AntwortenPositivNegativDatumStimmen
22 Stimmen

Die Funktion, die du suchst heißt unbind().

Hier mal ein kleines Beispiel dazu:

$("#myform").submit(function(event) {
    event.preventDefault();
    // ...
});

// ...

$("#myform").unbind('submit');

Zuerst verhindern wir mit event.preventDefault(), dass die Form abgeschickt wird, wenn wir auf den Submit Button klicken.

Anschließend nehmen wir dies mit unbind('submit') wieder zurück und es funktioniert wie vorher. Unbind sorgt dafür, dass ein vorher zugeordneter Event Handler wieder zurückgenommen wird. Im Beispiel geben wir mit 'submit' noch den Typ des Event Handlers an. Lassen wir diesen weg und schreiben nur $("#myform").unbind(), werden alle zugeordneten Event Handler entfernt.
Letztes Update am 18.10.2020 | Erstellt am 29.05.2012

AntwortenPositiv Negativ
11 Stimme

Und hier nochmal eine andere Möglichkeit mit der selben Wirkung:

var eventhandler = function(e) {
   e.preventDefault();      
}
     
$("#myform").bind('submit', eventhandler);
 
//...
 
$("#myform").unbind('submit', eventhandler);

Dadurch sollte auch der Unterschied zwischen bind() und unbind() deutlich werden. Man verwendet bind(), um einen Event Handler zuzuordnen und unbind() um diesen wieder zu entfernen. Den Event Handler haben wir zuvor als Variable definiert, der die Funktion preventDefault zugeordnet wurde.
Letztes Update am 18.10.2020 | Erstellt am 29.05.2012

AntwortenPositiv Negativ
Antworten

Ähnliche Themen

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.