JavaScript - Ayuda con eventos del teclado

 
Vista:

Ayuda con eventos del teclado

Publicado por ElTecla (3 intervenciones) el 22/08/2008 10:38:09
Hola gente, les comento lo que quiero hacer es un script para que, si el usuario pulsa ciertas teclas realice una accion... en concreto, que si en el sitio web alguien pulsa la tecla inicio seguido de una secuencia de letras y pulsa la tecla FIN realice una accion... para probar quise hacer que en un alerta me tire las letras que pulso entre inicio y fin... pero no se porque no anda... aca les dejo el script para que lo vean
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
function manejador(elEvento) {
	var evento = elEvento || window.event;	//registro el evento
	var caracter = evento.charCode || evento.keyCode;	//registro la tecla pulsada
	if (typeof (cont) == "undefined") {  //veo si es la primer tecla que se pulsa
		var letras = new array();	 //inicializo las variables
		var cont=0;
	}
	if (caracter == 36){	//si fue home comienzo el registro
		cont=1;		//seteo la variable del contador
		var i=0;
		while (i<letras.length){	//vacio el arreglo
			i++;
			var vaciar = letras.pop();
		}
	}
	else if (caracter == 35){   //si presiono end muestra lo que escribio
		alert(letras.join(""));
	{
	else if (cont>0){   //si ya esta leyendo las letras
		letras[cont-1]= String.fromCharCode(caracter);  //almaceno la actual
		cont++;
	}
	alert(String.fromCharCode(caracter));
}

Bueno desde ya muchas gracias

Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con eventos del teclado

Publicado por ElTecla (3 intervenciones) el 22/08/2008 12:13:02
Bueno aparentemente solucione alguno de los problemas... pero me surgio otro: cada vez que invoco la funcion se inicializan las variables... o cada vez que finaliza la funcion se eliminan(puede que tecnicamente sea distinto... pero para mi caso sea como sea me genera un problema) la pregunta ahora es como o donde puedo guardar los valores ya ingresados???

desde ya muchas gracias

PD: cuando lo termine lo pongo completo por si alguien le sirve
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con eventos del teclado

Publicado por ElTecla (3 intervenciones) el 22/08/2008 13:08:18
Gente! ya lo pude hacer!!!!!!!!!!!!!!!!! perdonen por postear tanto.. pero la curiosidad me llevo a la solucion aca les dejo el codigo como me quedo: Primero la pag htm donde declare las variables en un script aparte para que sean globales y no las inicialice cada vez que llamo al otro, y despues el script terminado...
---------------------------------------------------------------------------------------------------------------------------
CODIGO HTML:

1
2
3
4
5
6
7
8
<HTML>
<HEAD>
<script>var cont=0; var letras=new Array(); </script>
<SCRIPT type="text/javascript" src="teclado.js"></script>
</HEAD>
<BODY onkeyup ="manejador(event)">
</BODY>
</HTML>


CODIGO DE TECLADO.JS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function manejador(elEvento) {
	var evento = elEvento || window.event;	//registro el evento
	var caracter = evento.charCode || evento.keyCode;	//registro la tecla pulsada
	if (caracter==36){	//si fue home comienzo el registro
		cont=0;		//reseteo la variable del contador
		var i=0;
		while(i<=(letras.length)+1){	//vacio el arreglo
			vaciar = letras.pop();
			i++;
		}
	}
	else if (caracter==35){   //si presiono end muestra lo que escribio
		alert(cont);
		alert(letras.join(""));
	}
	else {   //si ya esta leyendo las letras
		letras[cont]= String.fromCharCode(caracter);  //almaceno la actual
		cont++;
	}
}


Bueno gente espero que le sirva a alguien

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar