Foros del Web » Programando para Internet » Javascript »

Accion al presionar una tecla

Estas en el tema de Accion al presionar una tecla en el foro de Javascript en Foros del Web. Buenas tardes, tengo estas funciones: Código HTML: function compruebaTecla(evento){ var keyCode = document.layers ? evento.which : document.all ? event.keyCode : document.getElementById ? evento.keyCode : 0; ...
  #1 (permalink)  
Antiguo 05/10/2009, 11:28
 
Fecha de Ingreso: enero-2005
Mensajes: 122
Antigüedad: 19 años, 3 meses
Puntos: 2
Accion al presionar una tecla

Buenas tardes, tengo estas funciones:
Código HTML:
function compruebaTecla(evento){	
		
		
		var keyCode = document.layers ? evento.which : document.all ? event.keyCode : document.getElementById ? evento.keyCode : 0;
		
		
		if (keyCode == 40) document.getElementById(nombre_capa).focus();
		
		return true;
	}
y
Código HTML:
function teclaPress(){
		var oper = "OPERACION";
		document.onkeydown = compruebaTecla;
	}
listo, entonces la funcion teclaPress() se ejecuta cuando la llamo de algun lugar pero necesito que a compruebaTecla(evento) le llegue el resultado de la operacion que recojo con la variable oper, ya probe con hacer compruebaTecla(oper,evento) y obviamente cambiando colocando la variable en la otra funcion y no me funciona, necesito que porfavor me ayuden con eso.
Gracias.
  #2 (permalink)  
Antiguo 05/10/2009, 11:35
Avatar de lukas4  
Fecha de Ingreso: octubre-2008
Ubicación: frente al pc
Mensajes: 496
Antigüedad: 15 años, 6 meses
Puntos: 12
Respuesta: Accion al presionar una tecla

disculpame pero ando medio atolondrao hoy, pero veo que tu funcion compruebaTecla recibe un parametro, y en tu funcion teclaPress cuando mandas llamar la funcion anterior no le envias ningun parametro, no sera ese el problema?
  #3 (permalink)  
Antiguo 05/10/2009, 12:04
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Accion al presionar una tecla

tienes dos formas, hace la variable global quitandole el keyword var, o como esta queriendo decirte @lukas4, le pasas la variable como argumento a la funcion. este ultimo caso seria un tanto diferente porque tienes que crear una funcion anonima. si no te quieres liar mucho, simplemente haz la variable global y desde compruebaTecla lees la variable, o donde la necesites.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #4 (permalink)  
Antiguo 05/10/2009, 12:05
 
Fecha de Ingreso: enero-2005
Mensajes: 122
Antigüedad: 19 años, 3 meses
Puntos: 2
Respuesta: Accion al presionar una tecla

No, no ese el problema, el parametro evento recibe la tecla que se presiona
Gracias por tu respuesta pero aun no resuelvo mi inconveniente.
  #5 (permalink)  
Antiguo 05/10/2009, 12:09
 
Fecha de Ingreso: enero-2005
Mensajes: 122
Antigüedad: 19 años, 3 meses
Puntos: 2
Respuesta: Accion al presionar una tecla

Muchas gracias por tu respuesta @zerokilled voy a intentar asi haber como me funciona.
  #6 (permalink)  
Antiguo 05/10/2009, 12:32
 
Fecha de Ingreso: enero-2005
Mensajes: 122
Antigüedad: 19 años, 3 meses
Puntos: 2
Respuesta: Accion al presionar una tecla

De nuevo por aqui, pues es extraño lo que me pasa, despues de colocar la variable global me queda asi:
Cita:
function compruebaTecla(evento){

var keyCode = document.layers ? evento.which : document.all ? event.keyCode : document.getElementById ? evento.keyCode : 0;
//alert(capa);
if (keyCode == 40) document.getElementById(capa).focus();

return true;
}
y
Cita:
function teclaPress(id){

capa = id;

document.onkeydown = compruebaTecla;
}
Lo extraño aqui es que cuando le doy alert me sale el nombre de la capa, pero cuando interactuo con la variable me sale un error, me dice: document.getElementById(capa) is null, y no se porque sale null si cuando hago el alert me sale el nombre que necesito...
  #7 (permalink)  
Antiguo 05/10/2009, 12:37
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Accion al presionar una tecla

el error significa que no existe un elemento con dicho ID. verifica que:
  • existe un elemento con dicho ID
  • que el ID sea valido. es decir, debe comenzar con caracter alfabetico.
  • que el ID sea exactamente el mismo. javascript es sensible a la capitalizacion de modo que no es lo mismo "miID" que "miId".
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:36.