En JavaScript disponemos de la función event.preventDefault() mediante la cual evitar que tras ejecutar una acción tengan lugar las acciones por defecto. De tal forma que si hacemos click en un enlace, ejecutaría el JavaScript, sin llevarnos a la ruta del enlace.

Esta función resulta muy útil y nos puede solucionar muchos problemas en la mayoría de ocasiones, ayudándonos a controlar los eventos en JavaScript. Por desgracia, en versiones un poco más antiguas de Internet Explorer (IE7 y IE8) esta función no está soportada, dando un error.

En estas versiones de Internet Explorer podemos utilizar el código event.returnValue = false, al cual sustituyó event.preventDefault(), dejando al primero deprecado.

Para poder tener esta funcionalidad, de manera que sea compatible con navegadores viejos, a la par que utilizamos el nuevo método en los navegadores más modernos, debemos utilizar el siguiente código.

Este sencillo código, comprueba si existe el método event.preventDefault, ejecutándolo en caso de estar disponible. Si no se encuentra en el navegador actual, ejecutará event.returnValue = false asegurándonos que nuestro código sea compatible con navegadores que no estén actualizados.

De esta forma conseguiremos llegar a un mayor número de usuarios, independientemente del navegador que utilicen cuando visiten nuestro sitio web, dado que pese a que algunos navegadores actualizan automáticamente, aun hay gran fragmentación y muchos usuarios utilizan versiones obsoletas de algunos navegadores.