Diferencia entre revisiones de «Usuario:Juanda/jQuery/Eventos»
De WikiEducator
(→Métodos bind(), live() y delegate()) |
|||
(5 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 19: | Línea 19: | ||
*El tipo de evento lo definimos con la función click o similares. | *El tipo de evento lo definimos con la función click o similares. | ||
*El evento define como parámetro una función que será la manejadora del evento. | *El evento define como parámetro una función que será la manejadora del evento. | ||
+ | </div> | ||
+ | <div class="slide"> | ||
+ | |||
*La función manejadora del evento tiene a su vez un parámetro ''mievento'' que nos permite utilizar las propiedades o métodos del evento en cuestión. | *La función manejadora del evento tiene a su vez un parámetro ''mievento'' que nos permite utilizar las propiedades o métodos del evento en cuestión. | ||
: En este caso utilizaremos el método ''preventDefault()'' | : En este caso utilizaremos el método ''preventDefault()'' | ||
+ | |||
+ | |||
</div> | </div> | ||
Línea 34: | Línea 39: | ||
:Para generar un evento cuando se produce un doble clic sobre un elemento. | :Para generar un evento cuando se produce un doble clic sobre un elemento. | ||
:Se generarán también dos eventos click() | :Se generarán también dos eventos click() | ||
+ | </div> | ||
+ | <div class="slide"> | ||
*mousedown() | *mousedown() | ||
:Para generar un evento cuando el usuario hace clic independientemente de si lo suelta o no. | :Para generar un evento cuando el usuario hace clic independientemente de si lo suelta o no. | ||
Línea 44: | Línea 51: | ||
}); | }); | ||
</source> | </source> | ||
+ | |||
+ | </div> | ||
+ | <div class="slide"> | ||
+ | |||
*mouseup() | *mouseup() | ||
:Para generar un evento cuando el usuario ha hecho clic y luego suelta un botón del ratón. | :Para generar un evento cuando el usuario ha hecho clic y luego suelta un botón del ratón. | ||
Línea 54: | Línea 65: | ||
}); | }); | ||
</source> | </source> | ||
+ | </div> | ||
+ | <div class="slide"> | ||
*mouseover() y mouseout() | *mouseover() y mouseout() | ||
:Sirve para lo mismo que los eventos mouseover y mouseout de Javascript. Se produce cuando el ratón está sobre un elemento, pero tiene como particularidad que pueden producirse varias veces mientras se mueve el ratón sobre el elemento, sin necesidad de haber salido (por los elementos anidados). | :Sirve para lo mismo que los eventos mouseover y mouseout de Javascript. Se produce cuando el ratón está sobre un elemento, pero tiene como particularidad que pueden producirse varias veces mientras se mueve el ratón sobre el elemento, sin necesidad de haber salido (por los elementos anidados). | ||
*mouseenter() y mouseleave() | *mouseenter() y mouseleave() | ||
:Normalmente preferiremos estos eventos respecto a los originales de javascript ya que se ejecutarán sólo una vez. | :Normalmente preferiremos estos eventos respecto a los originales de javascript ya que se ejecutarán sólo una vez. | ||
+ | |||
+ | </div> | ||
+ | <div class="slide"> | ||
+ | |||
*hover() | *hover() | ||
:Esta función en realidad sirve para manejar dos eventos, cuando el ratón entra y sale de encima de un elemento. Por tanto espera recibir dos funciones en vez de una que se envía a la mayoría de los eventos. | :Esta función en realidad sirve para manejar dos eventos, cuando el ratón entra y sale de encima de un elemento. Por tanto espera recibir dos funciones en vez de una que se envía a la mayoría de los eventos. | ||
Línea 74: | Línea 91: | ||
}); | }); | ||
</source> | </source> | ||
+ | |||
+ | </div> | ||
+ | <div class="slide"> | ||
+ | |||
*toggle() | *toggle() | ||
:Sirve para indicar dos o más funciones para ejecutar cuando el usuario realiza clics, con la particularidad que esas funciones se van alternando a medida que el usuario hace clics. | :Sirve para indicar dos o más funciones para ejecutar cuando el usuario realiza clics, con la particularidad que esas funciones se van alternando a medida que el usuario hace clics. | ||
Línea 93: | Línea 114: | ||
:Se produce en el momento que se presiona una tecla del teclado, independientemente de si se libera la presión o se mantiene. | :Se produce en el momento que se presiona una tecla del teclado, independientemente de si se libera la presión o se mantiene. | ||
:Funciona con todas las teclas. | :Funciona con todas las teclas. | ||
+ | |||
+ | </div> | ||
+ | <div class="slide"> | ||
+ | |||
*keyup() | *keyup() | ||
:Se ejecuta en el momento de liberar una tecla. | :Se ejecuta en el momento de liberar una tecla. | ||
Línea 99: | Línea 124: | ||
:Se ejecuta como respuesta a una pulsación e inmediata liberación de la tecla. | :Se ejecuta como respuesta a una pulsación e inmediata liberación de la tecla. | ||
:No se dispara con las teclas ALT, MAYS, CTRL. | :No se dispara con las teclas ALT, MAYS, CTRL. | ||
+ | |||
+ | </div> | ||
+ | <div class="slide"> | ||
*Los navegadores almacenan de forma diferente las teclas pulsadas. La propiedad which del evento nos permitirá trabajar sin preocuparnos de ello. | *Los navegadores almacenan de forma diferente las teclas pulsadas. La propiedad which del evento nos permitirá trabajar sin preocuparnos de ello. | ||
Línea 120: | Línea 148: | ||
</html> | </html> | ||
</source> | </source> | ||
+ | </div> | ||
<div class="slide"> | <div class="slide"> | ||
− | |||
==Asociación de DOM y eventos== | ==Asociación de DOM y eventos== | ||
</div> | </div> | ||
Línea 151: | Línea 179: | ||
Estas dos construcciones son equivalentes, pero on() permite hacer muchas más cosas... | Estas dos construcciones son equivalentes, pero on() permite hacer muchas más cosas... | ||
</div> | </div> | ||
− | |||
<div class="slide"> | <div class="slide"> | ||
===Método on() - Ventajas I=== | ===Método on() - Ventajas I=== | ||
*Permite usar un mismo manejador de eventos para múltiples elementos html suscribiendo el manejador a un elemento padre<br/> | *Permite usar un mismo manejador de eventos para múltiples elementos html suscribiendo el manejador a un elemento padre<br/> | ||
− | |||
*Dado el siguiente código html: | *Dado el siguiente código html: | ||
<source lang="html4strict"> | <source lang="html4strict"> | ||
Línea 172: | Línea 198: | ||
}); | }); | ||
</source> | </source> | ||
− | |||
− | * Sólo se crea una única función, independientemente del número de elementos <a> que tengamos, reduciendo el consumo de recursos. | + | </div> |
+ | <div class="slide"> | ||
+ | |||
+ | *Esto tiene varias ventajas: | ||
+ | |||
+ | *Sólo se crea una única función, independientemente del número de elementos <a> que tengamos, reduciendo el consumo de recursos. | ||
*Es válido para elementos que no existen todavía. Si apareciese un nuevo elemento <a> dentro del <div>, automáticamente estaríamos manejando su evento click. Esto es especialmente útil cuando generamos html dinámicamente. | *Es válido para elementos que no existen todavía. Si apareciese un nuevo elemento <a> dentro del <div>, automáticamente estaríamos manejando su evento click. Esto es especialmente útil cuando generamos html dinámicamente. | ||
Última revisión de 10:16 19 nov 2012