jQuery añadió, con la versión 1.3 de jQuery, un método para gestionar los eventos llamado live(). Dicho evento nos permite controlar los eventos de los elementos existentes y de los que están por crear.
Hasta ahora con jQuery teníamos que volver a añadir los eventos al crear nuevos elementos en nuestros scripts.
jQuery('<a href="...">Ejemplo</a>');
jQuery('a').bind('click', function(){ ... });
Con live() esto es mucho más sencillo. Ya que únicamente se tendrá que lanzar una vez y al generar nuevos eventos que cumplan la condición del selector que indiquemos contendrán los eventos y funcionalidades especificadas para estos elementos.
jQuery('a').live('click', function(){ ... });
...
jQuery('body').append('<a href="...">Ejemplo</a>');
En este caso, el <a /> que generamos despues de live() poseerá la funcionalidad descrita anteriormente mediante live().
Por desgracia, tenemos una limitación y es que no todos los eventos están soportados por la función y tendremos que conocer los que no son posible extender.
Soportados
clickdblclickmousedownmouseupmousemovemouseovermouseoutkeydownkeypresskeyup
No soportados
blurfocusmouseenter-
mouseleave changesubmit
die() es el opuesto y se encarga de cortar la propagación de los eventos a nuevos elementos.
jQuery('a').live('click', function(){ ... });
...
jQuery('a').die('click', function(){ ... });
...
jQuery('body').append('<a href="...">Ejemplo</a>');



10 comentarios, 0 referencias
+
#