feed twitter facebook LinkedIn facebook

JavaScript » Saber si la tecla Shift esta pulsada con JavaScript

Agosto 4, 2007 por Víctor Cuervo . 6876 visitas 1 Comentario Imprimir Imprimir

La tecla shift la utilizamos normalmente para poner teclas en mayúscula. Si bien, existen otros usos como el de hacer múltiples selecciones de elementos. En estos casos mantenemos dicha tecla pulsada mientras elegimos los elementos.

Hay que pensar que no siempre vamos a enfrentarnos a un formulario con una selección múltiple donde el propio navegador gestiona si está la tecla shift pulsada. Pueden presentarsenos situaciones donde queramos proporcionar la selección de múltiples elementos (por ejemplo, imágenes, capas,...) y tengamos que codificarnos, nosotros mismos, el control de la selección múltiple.

Para ello podemos apoyarnos en JavaScript y detectar si está la tecla shift pulsada y actuar en consecuencia.

Lo primero que tenemos que hacer es elegir sobre que evento vamos a realizar el control. En nuestro caso lo vamos a realizar cuando se produzca un click del ratón. Esto es el evento onmousedown.

<body onmousedown="estaPulsadoShift(event);">

La función que se lanzará será estaPulsadoShift, la cual esta recibiendo el objeto event como parámetro. Este objeto tiene toda la información relativa al evento que se ha producido, es decir, al click del ratón.

La propiedad, del objeto event, que tiene la información relativa a si la tecla shift estaba pulsada o no, es shiftKey. Si su valor es igual a 1, entonces significará que la tecla Shift estaba pulsada.

Si codificamos esto en JavaScript, nos quedaría el siguiente código:

<script type="text/javascript">

function estaPulsadoShift(event){
if (event.shiftKey==1)
    alert("La tecla shift está presionada");
else
    alert("La tecla shift no está presionada");
}

</script>

Poco código y de mucha utilidad.

Visualizar el ejemplo | Descargar el código

tags:

Artículos relacionados:

1 comentario »

Redifusión RSS de los comentarios de la entrada. TrackBack URI

  1. Marco
    Marzo 16, 2008 #

    ayudenme a bloquear la tecla Print Screen he intentado ya con varias cosas y no me devuelve un valor
    hasta he bloqueado el tecladi y nada
    otra cosa si pueden envienme manuales copn ejemplos por favor

    marco_rule@hotmail.com

Deje un comentario

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

*