Foros del Web » Programando para Internet » Javascript »

Problema con eventos y parametros :S

Estas en el tema de Problema con eventos y parametros :S en el foro de Javascript en Foros del Web. Hola, Me estoy comiendo la cabeza con una cosilla del javascript, y me gustaría saber porqué funciona como funciona el siguiente código: Código PHP: < ...
  #1 (permalink)  
Antiguo 23/03/2010, 10:01
 
Fecha de Ingreso: marzo-2010
Mensajes: 18
Antigüedad: 14 años, 1 mes
Puntos: 2
Problema con eventos y parametros :S

Hola,

Me estoy comiendo la cabeza con una cosilla del javascript, y me gustaría saber porqué funciona como funciona el siguiente código:

Código PHP:
<html><head></head><body>
<
div id="ejemplodiv"></div>
<
script type="text/javascript">
    var 
div document.getElementById("ejemplodiv");
    var 
vector = new Array();
    var 
textos = new Array();
    for (
i=0;i<5;i++){
        
vector[i] = document.createElement("div");
        
textos[i] = document.createTextNode("numero" i);
        
vector[i].appendChild(textos[i]);
        
div.appendChild(vector[i]);
        
vector[i].onclick = function () {
                                
ejemplofuncion (i);
                            }    
    }
    function 
ejemplofuncion (numero) {
        
alert(numero);
    }
</script>
</body></html> 
Lo que intento es que al pulsar numero1, salga un mensaje diciendo 1. En cambio, pulse el texto que pulse, aparece un 5. ¿Por qué esto es asi?

Esto sólo es un ejemplo, ya que me ocurre lo mismo pero en un código mucho más largo.

Saludos!
  #2 (permalink)  
Antiguo 23/03/2010, 16:53
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: Problema con eventos y parametros :S

Saludos

Debes colocarle un id a cada div que crees y enviarle como parametro a la funcion ejemplofuncion el valor del div, pensaria que de esta forma ya te funcionara!..

Hasta Pronto!.
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #3 (permalink)  
Antiguo 23/03/2010, 17:19
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Problema con eventos y parametros :S

Puedes crear una closure:
Código Javascript:
Ver original
  1. vector[i].onclick = function (i) {
  2.     return function() { ejemplofuncion (i) };
  3. }(i)
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #4 (permalink)  
Antiguo 24/03/2010, 01:32
 
Fecha de Ingreso: marzo-2010
Mensajes: 18
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: Problema con eventos y parametros :S

Muchas gracias!!! Funciona perfectamente :)

Etiquetas: eventos, parametros
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 06:38.