Delegando Eventos (delegate)

A la hora de crear listeners de eventos podemos incurrir en ralentizar la pagina si el numero de estos es muy grande. Por ejemplo, si queremos realizar una acción por cada elemento de la una lista haríamos lo siguiente:

$('ul li').click(function() {

/* ... ... ... */

});

El codigo anterior genera un listener por cada elemento de la lista. Si la lista es muy grande tendremos el problema de ralentizar la pagina.

Podemos solucionarlo con la delegacion de eventos. En jQuery usaremos delegate()

$('ul').delegate('li', 'click', function(){

/* ... ... ... */

});

Otra ventaja de utilizar delegate() es que cualquier otro <li> que se incluya dinamicamente respondera tambien al evento.

Delegando Eventos (delegate)

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s