Ver Mensaje Individual
  #4 (permalink)  
Antiguo 21/06/2008, 10:15
Avatar de derkenuke
derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 21 años, 4 meses
Puntos: 45
Respuesta: Efecto al pulsar una serie de teclas

Hola de nuevo pekpon:

Bueno, no es tan sencillo como has posteado pero casi. Si buscas detectar+tecla+pulsada+javascript puedes encontrar información al respecto. La fórmula básica para detectar la tecla es así:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
<
html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<
head>
<
meta http-equiv="Content-type" content="text/html;charset=iso-8859-1" />
<
meta name="Author" content="derkeNuke" />
<
title>Página nueva</title>
<
style type="text/css">

</
style>
</
head>

<
body onkeypress="tecla(event)">


<
script type="text/javascript">
<!--

var 
keyCode;
function 
tecla(e){
    if(
window.event)
        
keyCode=window.event.keyCode;
    else if(
e
        
keyCode=e.which;
    
alert(keyCode)
}

// -->
</script>

</body>
</html> 
En IE es diferente que con el resto de navegadores, para variar; por eso la condicional.

Así tendrás un valor de tecla. Ahora tenemos que medir la secuencia deseada: 1,2,3,4,5; o en valores 49, 50, 51, 52, 53. Voy a poner un contador llamado i que contendrá siempre valores de 0,1,2,3,4. Cuando el usuario pulse la tecla 49 el contador se pondrá a 1, su seguidamente pulsa 50 se pondrá a 2, y así sucesivamente. Si pulsa otra tecla el contador pasará a 0, teniendo que volver a empezar. Pero si pulsa las teclas en el orden correcto entonces i será 4 y se habrá pulsado 53 y se lanzará un alert(), o lo que tú desees:

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
<
html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<
head>
<
meta http-equiv="Content-type" content="text/html;charset=iso-8859-1" />
<
meta name="Author" content="derkeNuke" />
<
title>Página nueva</title>
<
style type="text/css">

</
style>
</
head>

<
body onkeypress="tecla(event)">


<
script type="text/javascript">
<!--

var 
keyCodei=0;
function 
tecla(e){
    if(
window.event)
        
keyCode=window.event.keyCode;
    else if(
e
        
keyCode=e.which;
    if( 
i===&& keyCode===49 )
        
1;
    else if( 
i===&& keyCode===50 )
        
2;
    else if( 
i===&& keyCode===51 )
        
3;
    else if( 
i===&& keyCode===52 )
        
4;
    else if( 
i===&& keyCode===53 ) {
        
0;
        
alert("Has pulsado la secuencia correcta!");
    }
    else
        
0;
}

// -->
</script>

</body>
</html> 
Así que si se pulsa la secuencia correcta Bang!, y si no, pues nada.


Espero que te sirva.

Saludos!
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.