Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] llamar a función con onKeyUp en input creado con dom

Estas en el tema de llamar a función con onKeyUp en input creado con dom en el foro de Javascript en Foros del Web. quiero hacer algo como esto html: Código HTML: <div id='con'> </div> <div onclick='construir()'> Nuevo elemento </div> javascript : Código: function tecla(tmp){ console.log(tmp); } var z; ...
  #1 (permalink)  
Antiguo 20/09/2013, 15:35
Avatar de asp95  
Fecha de Ingreso: septiembre-2013
Ubicación: Buenos Aires
Mensajes: 9
Antigüedad: 10 años, 8 meses
Puntos: 0
llamar a función con onKeyUp en input creado con dom

quiero hacer algo como esto

html:
Código HTML:
<div id='con'></div>
<div onclick='construir()'>Nuevo elemento</div> 
javascript:
Código:
function tecla(tmp){
	console.log(tmp);
}
var z;
function construir(){
	z +=1;
	var a = document.createElement('input');
	a.type = 'text';
	a.onKeyUp = tecla(z);
	document.getElementById('con').appendChild(a);
}
el tema es que a 'tecla()' lo llama solo una vez, cuando se construye el elemento (cosa que no quiero), y no funciona cuando presiono teclas (cuando las suelto, sobre todo). por que puede ser?, estoy declarando mal el onKeyUp?

Saludos y Gracias.
  #2 (permalink)  
Antiguo 20/09/2013, 16:15
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, 1 mes
Puntos: 1485
Respuesta: llamar a función con onKeyUp en input creado con dom

buenas,
sucede que estás invocando la función tecla, lo que ésta devuelva es lo que se asigna al evento. tienes que asignar una función al evento, y dicha función invocar tecla. sencillamente, creas una función literal asignada al evento y dentro de esta la invocación. event = function(){ foo(args); };
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 20/09/2013, 17:20
Avatar de asp95  
Fecha de Ingreso: septiembre-2013
Ubicación: Buenos Aires
Mensajes: 9
Antigüedad: 10 años, 8 meses
Puntos: 0
así lo tengo en mi proyecto original, pero tampoco anda. deja de llamar a la función en el momento de la creación pero sigue sin llamar con las teclas.

estoy viendo si encuentro algún otro error que haga que no funcione

me fijé con el inspector de firefox como se crea el elemento y los 'onLoquesea' no aparecen

Última edición por zerokilled; 21/09/2013 a las 04:47 Razón: no es un chat
  #4 (permalink)  
Antiguo 20/09/2013, 21:37
Avatar de asp95  
Fecha de Ingreso: septiembre-2013
Ubicación: Buenos Aires
Mensajes: 9
Antigüedad: 10 años, 8 meses
Puntos: 0
Respuesta: llamar a función con onKeyUp en input creado con dom

para que ande tuve que hacerlo con
Código:
a.addEventListener('keyup', function(){tecla(z);}, false );
  #5 (permalink)  
Antiguo 21/09/2013, 04:50
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, 1 mes
Puntos: 1485
Respuesta: llamar a función con onKeyUp en input creado con dom

claro, no me habia fijado que el nombre del evento lo tienes mal. en javascript todos los eventos se escriben en minúscula; tenías onKeyUp.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #6 (permalink)  
Antiguo 21/09/2013, 10:38
Avatar de asp95  
Fecha de Ingreso: septiembre-2013
Ubicación: Buenos Aires
Mensajes: 9
Antigüedad: 10 años, 8 meses
Puntos: 0
Respuesta: llamar a función con onKeyUp en input creado con dom

gracias por a ayuda, no sabía que todo iba en minúscula. lo voy a tener en cuenta

(ademas, gracias por la edición, en un momento parece que me emocioné demasiado y metí todos los mensajes juntos)

Etiquetas: creado, dom, funcion, html, input, onkeyup
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 17:43.