Ver Mensaje Individual
  #2 (permalink)  
Antiguo 07/10/2012, 11:44
Avatar de Sirikon
Sirikon
 
Fecha de Ingreso: marzo-2009
Mensajes: 82
Antigüedad: 15 años, 7 meses
Puntos: 11
Respuesta: Diferencia más importante entre bind, delegate y un evento

Mira es muy sencillo y resulta bastante útil:

bind: Da la posibilidad de en una misma función meter varios eventos con sus respectivos resultados, puedes meter en un mismo bind el qué pasaría al hacer click, al pasar por encima, al hacer focus, etc.

A demás permite quitar estos eventos cuando queramos con .unbind()

click: El resultado es idéntico a Bind sólo que permite en este caso solo el click, esto es para cuando no necesitas mucho para hacer un simple evento de click

delegate: Esto es súmamente interesante ya que es lo más útil del mundo cuando quieres ponerle listeners o eventos a elementos dinámicos, osea elementos que no estaban en el momento de implantarse el listener, esto hace que por así decirlo "recargue" todos los elementos a los que puede afectar cada vez que es llamado

Y esto lo hace especificandole un área de efecto, por ejemplo:

Código Javascript:
Ver original
  1. $('div#nav').delegate('a','click',function(){
  2.   alert("Hola");
  3. })

Esa función hará que, por muchos elementos <a> que aparezcan o desaparezcan dentro del div con id nav, se lanzará la función, (En este caso, un alert de "Hola") sin necesidad de estar quitando y poniendo listeners

live: Es exactamente igual que el delegate, solo que con delegate primero especificas un área de efecto y luego el tipo de elementos a los que afecta, en live no especificas un área de efecto y te toma por defecto el documento entero, esto es bastante poco eficiente y evitable si sabes usar bien el delegate

Cualquier duda pregunta, te ayudaré en lo que pueda ^^

Saludos!
__________________
Carlos a.k.a. Sirikon - Escorbuto Team