javascript-prevent-default

Qué es y cómo usar PreventDefault en JavaScript

En JavaScript, el método preventDefault nos permite evitar que se realice la acción predeterminada asociada con un evento.

La acción predeterminada es aquella que se define en el navegador cuando ocurre un evento en un elemento. Por ejemplo

  • Enviar un formulario al hacer clic en un botón de tipo submit
  • Navegar a una nueva página al hacer clic en un enlace

En general, la acción predeterminada es útil, y realmente es lo que queremos hacer en la mayoría de los casos.

Pero, en ocasiones, necesitamos evitar que sucedan, porque queremos hacer otra cosa distinta (o una acción previa, como una validación).

Para ello disponemos del método preventDefault, que está disponible en el objeto Event. Al invocarlo, podemos “detener” estas acciones predeterminadas

Evitar el uso innecesario: Si no hay una razón específica para evitar la acción predeterminada, es mejor no usar preventDefault.

¿Cómo funciona preventDefault?

Veamos cómo funciona con un ejemplo sencillo. Por ejemplo, cuando hacemos clic en un enlace, el navegador intenta navegar a una nueva URL.

Si usamos preventDefault en el evento click, evitamos que el navegador realice esta navegación.

const link = document.querySelector('a');
link.addEventListener('click', (event) => {
  event.preventDefault();
});

En este caso

  • Aunque el enlace apunta a una página externa, al hacer clic sobre él no se navegará a la URL especificada.
  • En su lugar, se imprimirá en la consola el mensaje “El enlace no se ha seguido”.
  • Esto ocurre porque hemos utilizado evento.preventDefault(), lo que impide que la acción predeterminada del enlace (la navegación) se lleve a cabo.

Ejemplos prácticos