Comunidad de diseño web y desarrollo en internet online

Conocer el componente que envía el evento

Citar            
MensajeEscrito el 09 Mar 2007 05:42 pm
Hola. Tengo este código...

Código :

for (var i:Number = 0; i<=8; i++)
      {
         for (var j:Number = 0; j<=8; j++)
         {
            inputs[i][j] = tablero.createClassObject(TextInput, "input", tablero.getNextHighestDepth(), {restrict:"1-9"});
            inputs[i][j].addEventListener("change", Delegate.create(this, inputModificado));
         }
      }


Es sencillo, asocio al elemento de la matriz el componente creado con "createClassObject" y, posteriormente, le pongo a escuchar el evento "change" referenciado a la función "inputModificado".

¿Es posible ver, dentro de la funcion "inputModificado", el componente que ejecutó el evento? Es decir, si cambio el texto del TextInput, localizado en inputs[2][7], al ir a la función "inputModificado" pueda ver, dentro de ésta, dicho TextInput. Por ejemplo, para saber lo que se ha escrito.

Me he fijado y por lo visto cuando es llamada la función "inputModificado", se le pasa como argumento un objeto, pero no sé si puedo utilizarlo para conocer el "enviador", ni como hacerlo.

Espero haberme dado a entender.

Un saludo ^^

Por [Sheer]

Claber

283 de clabLevel

1 tutorial

Genero:Masculino  

Barcelona

opera
Citar            
MensajeEscrito el 10 Mar 2007 09:19 pm
mmm no se si es correcto lo q entendi: hice un ejemplo menos complejo pero la idea es la misma a la tuya

Código :

import mx.controls.*;
import mx.utils.Delegate;
for (var i:Number = 0; i<=8; i++) {
   mm = this.createClassObject(TextInput, "input"+i, this.getNextHighestDepth());
   mm._y = 50*i;
   mm.addEventListener("change", miD=Delegate.create(this, inputModificado));
   miD.mi = i;
}
function inputModificado() {
   ubi = arguments.caller.mi;
   trace(this["input"+ubi].text);
}



saludos

Por eldervaz

BOFH

10964 de clabLevel

39 tutoriales
56 articulos

Genero:Masculino  

en algún lugar del mundo

msie
Citar            
MensajeEscrito el 11 Mar 2007 01:17 am
Pues sí, eso es lo que buscaba. Muchas gracias, no se me había ocurrido hacer eso.

Un saludo ^^

Por [Sheer]

Claber

283 de clabLevel

1 tutorial

Genero:Masculino  

Barcelona

opera
Citar            
MensajeEscrito el 11 Mar 2007 02:55 pm
:D

Por eldervaz

BOFH

10964 de clabLevel

39 tutoriales
56 articulos

Genero:Masculino  

en algún lugar del mundo

msie
Citar            
MensajeEscrito el 11 Mar 2007 03:56 pm
Es bueno el "truco", pero no es necesario, uno de los principios básicos de los eventos, es enviar el objeto que lo invoca. :wink:

Código :

import mx.controls.*;

for (var i:Number = 0; i<=8; i++) {
   mm = this.createClassObject(TextInput, "input"+i, this.getNextHighestDepth());
   mm._y = 50*i;
   mm.addEventListener("change", inputModificado);
   miD.mi = i;
}

function inputModificado(event) {
   trace(event.target.text);
}


^^

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

clabbrowser
Citar            
MensajeEscrito el 11 Mar 2007 04:30 pm
Muchas gracias! Ya decía yo que le enviaba algo :P

Por [Sheer]

Claber

283 de clabLevel

1 tutorial

Genero:Masculino  

Barcelona

opera
Citar            
MensajeEscrito el 11 Mar 2007 05:34 pm
sip, es cierto. pense q buscabas lo q envie :p

Por eldervaz

BOFH

10964 de clabLevel

39 tutoriales
56 articulos

Genero:Masculino  

en algún lugar del mundo

msie

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.