Entbindung in jQuery

8

Wenn ein Element von der Seite entfernt wird, wird es automatisch gelöst? Oder ist das ein Szenario, in dem man mit jquery's unbind losbinden sollte?

Ich nehme an, dass es automatisch gemacht wird ...

    
Matrym 05.12.2010, 00:18
quelle

1 Antwort

6

Wenn Sie Elemente mithilfe von remove oder empty werden Event-Handler automatisch entfernt, um Speicherlecks zu vermeiden. Andernfalls bleiben sie erhalten, es sei denn, sie werden vor dem Entfernen dieser Elemente explizit nicht verknüpft.

BEARBEITEN: Stellt heraus, dass .html auch Event-Handler entfernt, indem eine interne .cleanData -Methode aufgerufen wird (in Zeile 5177 deklariert). Sie können dies in der Quelle überprüfen:

%Vor%

Um Speicherlecks zu vermeiden, verwenden Sie daher nicht direkt innerHTML , um DOM-Elemente zu ersetzen, die jQuery-Event-Handler angehängt haben.

    
karim79 05.12.2010, 00:22
quelle

Tags und Links