Cómo añadir eventos en jQuery de forma fácil y limpia

Cómo añadir eventos en jQuery de forma fácil y limpia

evento de mouseExiste una forma genérica y muy óptima de programar cualquier tipo de evento con jQuery. Sin necesidad de utilizar los eventos clásicos como click(), focus(), hover(), keypress(), etc. Y por supuesto sin necesidad de recurrir a los viejos atributos de JavaScript (onclick, onchange, onblur, etc), por lo que todo el código HTML queda libre de cualquier manejador de eventos.

Escuchando todos eventos con .on()

La clave de esta sencillez reside en un método de jQuery llamado .on(), que es más o menos equivalente al obsoleto .live(). Lo que hace es añadir un manejador de eventos genérico que podemos aplicar a cualquier clase de evento sobre uno o varios selectores de jQuery. La sintaxis es la siguiente:

.on( evento [, selector_de_elemento ] [, datos ], funcionManejadora(eventObject) )

Este método tendríamos que llamarlo de forma similar al ejemplo siguiente:

[javascript]

$(document).on("change",’#opciones’,function(){  …  });

[/javascript]

Generando código limpio

En el formulario (o donde queramos aplicarlo) no es necesario tocar nada, como mucho precisaremos de un selector válido para pasar como argumento de .on(). Además todos los eventos se pueden manejar simultáneamente, ya que este método de la API de jQuery permite usar varios selectores y varios eventos en la misma función.

Potencia y flexibilidad

Las posibilidades que ofrece .on() sobre el control de eventos facilitan muchísimo el desarrollo web de interfaces gráficas de usuario de cierta complejidad. Os recomendamos estudiar la documentación oficial, muy rica en ejemplos, para que le saquéis el mayor partido.

Por cierto, una gran ventaja que tiene esta filosofía es que permite actualizar el documento de forma totalmente asíncrona, muy útil cuando nuestra aplicación necesita refrescarse al sufrir modificaciones de estructura y contenido dinámicamente. Si ya habéis tocado ajax, seguro que también os habéis enfrentado a este problema.

Previous Si quieres emigrar a Alemania, ¡manda tu ordenador contigo!
Next Transporte ¿público?

About author

Angel
Angel 161 posts

Creció viendo McGyver y ya de niño tenía muy claro en qué quería convertirse: inventor. Supuso que estudiar Ingeniería de Telecomunicación sería un buen camino para ello. Emprendedor y aventurero, bajo los circuitos y transistores le late un corazón de escritor.

You might also like

Desarrollo 1Comments

Filosofía responsive: cómo detectar un cambio de orientación de la pantalla

Puede que el mutable mundo de la programación web no sea tan glamuroso como el  extravagante mundo de la moda. Pero al igual que en éste, también existen tendencias. Y

Motivación 1Comments

Developer Angel, una interesante forma de invertir en una Start-up

El otro día estuvimos charlando un buen rato con @miguelfc (CEO de Spiral Startups) sobre un problema muy recurrente a la hora de poner en marcha una empresa innovadora de base tecnológica:

Tutorial 1Comments

[WordPress] Fatal error: Allowed memory size of 73400320 bytes exhausted

A.K.A. White Screen of Death. Si ya has trabajado con WordPress estoy seguro de que lo anterior te resultará familiar. Horriblemente familiar. Si no has trabajado aún con WordPress pero

Desarrollo 1Comments

Aprende VIM con un Adictivo juego de aventuras

Probablemente Vim sea el editor de texto para programadores más potente que existe. Seguro que más de uno se echa las manos a la cabeza con mi afirmación. Si ése es tu caso,

Desarrollo 2 Comments

Introducción al testeo aplicaciones web con Selenium y Java (I)

Para la creación de una página web es imprescindible el desarrollo de la propia página web en sí pero ante la multitud de navegadores y dispositivos en los que habitualmente

Desarrollo 2 Comments

LEAP: Agentes Inteligentes en dispositivos móviles

En el último artículo hablábamos sobre la problemática de introducir Inteligencia Artificial en dispositivos móviles. Esencialmente se puede utilizar cualquier aproximación válida para sistemas tradicionales, pero teniendo en cuenta la

Desarrollo 15 Comments

Django Forms ¿Conviene siempre usarlos?

Los Forms son clases que se definen en pocas lineas y sirven para generar HTML, validar los datos y crear objetos en la BD con muy poco código.

E-conomía 2 Comments

¿Qué es un TPV Virtual y qué le podemos exigir?

Últimamente hemos recibido consultas de algunos empresarios y desarrolladores que desean instalar una plataforma software que les permita iniciar actividades de comercio electrónico. En ese sentido, hay muchísimas soluciones cuya

Desarrollo 104 Comments

Eliminar (de verdad) la cola de impresión.

¿A quién no se le ha bloqueado alguna vez la cola de impresión de la impresora?. ¿Nadie levanta la mano?. Ok eso será que no soy la excepción que confirma

5 Comments

  1. Jesse
    Noviembre 26, 22:03 Reply

    Muchas gracias me sirvió bastante, ya que había estado buscando cómo poder solucionar mi problema y el motivo del por qué no ejecutaba la función si está era correcta.

    ¡Excelente!

  2. Alba
    Junio 01, 20:58 Reply

    La próxima vez que te pregunte algo deberías de redirigirme a alguno de tus post, hay para un post para todo!! (antes vi uno de jsTree, ahora esto…creo BorrowBits es el mejor manual que puedo leer XD)

  3. Paloma
    Mayo 27, 15:42 Reply

    Mucho cuidado con contratar movistar fusión!! resulta que contraté este paquete de servicios hace 3 meses para unificar factura y servicios creyendo que podía suponer un importante ahorro, hasta aquí todo correcto pero hace 2 días me llama el servicio de atención al cliente y me dicen que esta promoción se ha agotado y que si deseo continuar con el servicio serán 2 facturas: fijo y adsl 65€más iva y aparte fra. móvil 15€ más iva lo que supone un aumento de 20 o 30€por el mismo servicio o bien me cambio de compañía en cuyo caso me eliminarían el compromiso de permanencia. En consumo me han dicho que envíe reclamación a la compañía por correo certificado con acuse de recibo y espere respuesta. Si esta no me satisface debo acudir a ellos con copia de todo para realizar reclamación que ellos trasladan a arbitraje de consumo. En fin que ahora debo decidir si hago una portabilidad a otra compañía o sigo adelante con este lío e intento arreglarlo con movistar. Mi nivel de confianza al respecto es 0.

  4. Bitacoras.com
    Mayo 22, 23:17 Reply

    Información Bitacoras.com…

    Valora en Bitacoras.com: Existe una forma genérica y muy óptima de programar cualquier tipo de evento con jQuery. Sin necesidad de utilizar los eventos clásicos como click(), focus(), hover(), keypress(), etc. Y por supuesto sin necesidad de recu……

Leave a Reply