Wenn Sie jede Bindung von Ihrer Seite entfernen möchten, können Sie anrufen $(document).add('*').off();.
Grippe
$ (document) .add ('ID_OF_THE_ELEMENT'). off (); hat mir geholfen .. danke @flu
Mohit Singh
3
@Moitt Ich bin froh, dass ich helfen konnte. Bitte beachten Sie, dass Sie in Ihrem Fall $('#ELEMENT_ID').off()stattdessen direkt hätten verwenden können.
Grippe
Ja, ich habe vergessen, '#' <- Hash-Zeichen zu erwähnen. MEIN SCHLECHTES grrrrrrrrrrrrrrrrrrr ... danke @flu
Mohit Singh
1
@Moitt Ja, das auch;) Aber ich habe über den $(document).add(...)Teil gesprochen. Sie benötigen das Dokument nicht in Ihrer Knotenliste. Wenn Sie einfach alle Ereignisse für ein bestimmtes Element entfernen möchten, dessen ID Sie kennen, können Sie diese $('#ELEMENT_ID').off()sofort verwenden (nichts davor hinzugefügt).
Grippe
2
@jammypeach hat Recht damit, dass Ein und Aus die akzeptierten Methoden sind. Das Aufheben der Bindung führt manchmal zu seltsamen Verhaltensweisen (z. B. das Entbinden von Ereignissen nicht richtig).
Um alle Elemente im Körper zu lösen, suchen Sie sie alle und schalten Sie für jedes Element den Klick-Handler aus (was war die alte Entbindung):
.unbind()
veraltet ist.Antworten:
Sie können dazu
.unbind()
ohne Parameter aufrufen :$('p').unbind();
Aus den Dokumenten :
quelle
Ab jQuery 1.7
off()
undon()
sind die bevorzugten Methoden zum Binden und Aufheben der Bindung von Ereignishandlern.Verwenden Sie Folgendes, um alle Handler aus einem Element zu entfernen:
$('p').off();
oder für bestimmte Handler:
$('p').off('click hover');
Zum Hinzufügen oder Binden von Ereignishandlern können Sie verwenden
$('p').on('click hover', function(e){ console.log('click or hover!'); });
quelle
$(document).add('*').off();
.$('#ELEMENT_ID').off()
stattdessen direkt hätten verwenden können.$(document).add(...)
Teil gesprochen. Sie benötigen das Dokument nicht in Ihrer Knotenliste. Wenn Sie einfach alle Ereignisse für ein bestimmtes Element entfernen möchten, dessen ID Sie kennen, können Sie diese$('#ELEMENT_ID').off()
sofort verwenden (nichts davor hinzugefügt).@jammypeach hat Recht damit, dass Ein und Aus die akzeptierten Methoden sind. Das Aufheben der Bindung führt manchmal zu seltsamen Verhaltensweisen (z. B. das Entbinden von Ereignissen nicht richtig).
Um alle Elemente im Körper zu lösen, suchen Sie sie alle und schalten Sie für jedes Element den Klick-Handler aus (was war die alte Entbindung):
$("body").find("*").each(function() { $(this).off("click"); });
In dieser Frage zum Stapelüberlauf erfahren Sie auch, wie Sie die Ereignisse speichern, die Sie deaktiviert haben .
quelle
So entfernen Sie alle Ereignisbindungen von allen Elementen, einschließlich der Dokumentverwendung:
$(document).off().find("*").off();
quelle