Christian S.: EventHandler löschen, bevor man DOM Node entfernt? Memory Leaks?

Beitrag lesen

Hallo,

habe mal eine Frage, ob bei folgendem Szenario (IE) Memory Leaks entstehen.

Ich füge per JavaScript über DOM Methoden neue DOM Elemente ins DOM ein.

An jedes neue DOM Element kommt auch ein Eventhandler dran.

Wie der erfahrene Entwickler weiß, entstehen dadurch Memory Leaks im IE.

Nun entferne ich die Nodes wieder. Muss ich dann vor dem Entfernen auch noch meine EventHandler entfernen?

Beispiel:

  
var table = document.createElement(table);  
for (var i = 0; i < 5; i++)  
{  
 var tr = table.insertRow();  
 // hier über attachEvent oder addEventListener ein Event an tr registrieren.  
}  
  
while (table.rows.length)  
{  
  // hier event entfernen notwendig????  
  table.deleteRow();  
}  

Macht es außerdem noch einen Unterschied, ob ich den table noch ins DOM einhängen muss? Also in bestehendes DOM. Hab mal gelesen, dass man z.B. keine Kindelement an Elemente anhängen soll, die "noch in der Luft hängen", die also selbst kein elternelement haben. Was ist da dran?

Gruß