2012-10-05 42 views
6

Duplicar posible:
How to identify when the DOM has been changed?cuando se añade un elemento a una lista de lo que es la mejor manera de activar este evento

Supongamos que tengo acceso al elemento $(ul#mylist)<ul>.
¿Cómo puedo activar el evento cuando algún elemento se agrega a la lista?

He intentado lo siguiente, pero en realidad no funciona.

$('ul#mylist').change(function() { 
    console.log('added an element'); 
}); 
+0

Cuál es la adición de la elemento a la lista? – j08691

+0

Si es usted el que lo agrega a la lista, debe ejecutar el código manualmente en ese momento. No confiaría en los métodos de Mutación DOM para esto. –

Respuesta

6

Usted puede intentar escuchar DOMNodeInserted caso

$('ul#mylist').on('DOMNodeInserted' ,function() { 
    console.log('added an element'); 
}); 

Si va a añadir un li a UL y desea escuchar el evento ..

Check DEMO

+0

+1 ¡Muy bien !, no sabía acerca de ese evento, amplié tu demostración para mostrar también cómo usarla para escuchar cualquier elemento agregado en la página y averiguar el tipo de elemento o los atributos basados ​​en event.target parámetro. Aquí -> http://jsfiddle.net/gnel/9DPUY/ – Nelson

+0

@Nelson ... Gracias por el violín :) –

+0

Guau, ¡yo tampoco sabía que existía! – argentage

Cuestiones relacionadas