feed twitter facebook LinkedIn facebook

JavaScript » Capturar la tecla F5 con Javascript

septiembre 10, 2010 por Víctor Cuervo 5 Comentarios Imprimir Imprimir

Una de las últimas preguntas que hacían en nuestros foros era acerca de cómo capturar la tecla F5 dentro de un navegador. Y @Torres aportaba la solución de forma muy correcta mediante Javascript.

Veamos cuales son los pasos.

Lo primero será saber que el usuario ha pulsado una tecla. Es por ello que deberemos de estar al tanto del evento onkeydown. Al cual le asignaremos una función de escucha. Bueno, el evento lo capturamos a nivel de página:

  1.  
  2. document.onkeydown=capturarf5;
  3.  

Como podemos ver, la función recibe el objeto event. Este será el que contenga la información de la tecla que el usuario ha pulsado.

Empecemos a detallar la función capturarf5(). Lo primero que hay que saber es que el código de la tecla pulsada viaja en la propiedad event.which y que la tecla F5 tiene el código 116. Como la propiedad event.which no está recogida en ninguna especificación (de momento es del DOM Gecko, aunque ampliamente reconocida) también tenemos que utilizar la propiedad e.keycode (de las implementaciones para el Internet Explorer)

Así, para capturar el código de la tecla utilizamos la siguiente línea:

  1. var code = (e.keyCode ? e.keyCode : e.which);

Y si es el código 116.... pues, lo que queramos. ¿avisamos al usuario?

  1. if(code == 116) {
  2. alert("Pulsada la tecla F5");
  3. }

Como podemos apreciar... un código muy sencillo.

Por cierto, ¿esto evita un refresco de la página?

Muchas gracias a @Torres por su aporte en los foros.

Visualizar el Codigo
Visualiza el artículo
Descargar el Codigo
Descargar el código
Error en el Codigo
Error en el código
Foro sobre Javascript
Foro sobre Javascript
tags: , , , , , , ,

Artículos relacionados:

5 comentarios »

RSS feed para los comentarios de esta entrada. TrackBack URI

  1. FelipeM
    septiembre 25, 2010 #

    Me recuerda a una página de hace un montón de años que te pedía que pulsases F5, mostrandote un bonito alert de “por el …. te la …..”
    no recuerdo la dirección, sólo que contenia “orange” en la url
    :D

  2. lineadecodigo
    septiembre 25, 2010 #

    @FelipeM,

    Muy original… Es para encontrarla… :-D

  3. FelipeM
    septiembre 25, 2010 #

    ¡La encontré! http://www.orangizer.com/

  4. lineadecodigo
    septiembre 29, 2010 #

    @FelipeM…. muy buena. :-D

Deja un comentario

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*