Evitar que se ejecute un evento con jQuery

11/Jun/2010 jQuery 4 Comentarios

Una de las funciones que me parece más interesantes de jQuery es:

  1. event.preventDefault()

Mediante la función preventDefault() del objeto Event podemos evitar que se ejecute un evento con jQuery. Esto nos da la posibilidad de alterar el comportamiento por defecto de los eventos. Por ejemplo, cuando pulsamos sobre un enlace en evento click(), este, acaba realizando una navegación.

Pero si usamos la función preventDefault() no se ejecutará la navegación:

  1. $("a").click(function(event) {
  2. event.preventDefault();
  3. });

Ahora, una vez que hemos evitado la ejecución del click, realizaremos otra cosa. En nuestro caso vamos a volcar la URL del enlace en una capa. Para saber que enlace se ha ido pulsando.

  1. $("a").click(function(event) {
  2. event.preventDefault();
  3. $("#accion").append('Has pulsado el enlace ' + event.currentTarget + "<br/>");
  4. });

Utilizamos el método .append() sobre una capa que se llama "accion". La propiedad del objeto Event que nos da la URL es currentTarget.

Un caso de uso en el que nos enseña a evitar que se ejecute un evento es el siguiente artículo, el cual nos enseña como simular una aplicación RIA con jQuery (en inglés).

Vídeos sobre jQuery


Difunde el Conocimiento

Si te ha gustado el artículo o te ha sido de utilidad, no dejes de compartirlo con tus amigos en las redes sociales... Te estaremos muy agradecidos. :-D

4 comentarios en “Evitar que se ejecute un evento con jQuery”

Víctor Cuervo

NivelBasico

Buenas, muchas gracias por la información. ¿Cómo se podría hacer para ejecutar el evento antes de lo que indica el enlace y luego continuar con el enlace?

Víctor Cuervo

Víctor Cuervo

Buenas,

Lo que puedes hacer es volver a relanzar el evento con el método .trigger().

(this).trigger('click');

Saludos.

Víctor Cuervo

Víctor Cuervo

@Yises, Me alegro mucho que te haya servido el ejemplo. 😀

Víctor Cuervo

Yises

Muchas gracias por el artículo. El preventDefault es la típica cosa que es tan sencilla que siempre tengo que encontrar jajaja

Los comentarios están cerrados.