Ver Mensaje Individual
  #5 (permalink)  
Antiguo 03/08/2013, 08:26
Avatar de Tecna
Tecna
 
Fecha de Ingreso: enero-2010
Mensajes: 291
Antigüedad: 14 años, 10 meses
Puntos: 45
Respuesta: Saber si un objeto se ha eliminado

Buenas,

Antes de nada, tienes un error en el uso de setTimeout, sólo usa dos parámetros, la función y el tiempo. Y el this de la función en este caso será el objeto window.

Para pasar el this que te interesa puedes usar por ejemplo una función anónima Y para comprobar si se ha eliminado del DOM tendrás que mirar si existe. Por ejemplo si tienes una referencia al padre mirar en su lista de hijos. En la matriz childNodes se reflejan los cambios que se hacen en la jerarquía del DOM en tiempo real, y aunque se volviera a crear con innerHTML un elemento con el mismo contenido no sería idéntico, de ahí la importancia del operador ===.

Código Javascript:
Ver original
  1. this.x=setInterval(function() { b(this); }, 100);
  2.  
  3. function b(t)
  4. {
  5.     var papi = document.getElementById('padre');
  6.     var childs = papi.childNodes;
  7.     var n = childs.length;
  8.     for (var i = 0; i < n; ++i)
  9.     {
  10.         if (childs[i] === t) // Importante: ===, no vale ==
  11.         {
  12.             clearTimeout(t.x);
  13.             t.x = null;
  14.             return;
  15.         }
  16.     }
  17.  }
__________________
tecnawebs.es Diseño web y programación - Modelado 3D.

google plus