Comunidad de diseño web y desarrollo en internet online

Paso de parametros desde un addEventListener

Citar            
MensajeEscrito el 01 Jul 2009 04:20 pm
Buenas, tengo una serie de items de menu que al hacerles click necesito enviar a una funcion el parametro con el indice correspondiente:

Código ActionScript :

   for(var i:int=0; i<appsInstalled.length; i++){
                     var obj:NativeMenuItem =  new NativeMenuItem(appsInstalled[i]["name"].toString());
                     modules.push(obj);
                     menu.addItem(modules[i]);
                     modules[i].addEventListener(Event.SELECT, function(){launchApp(i)});
                  }


El problema es que el valor i en launchApp(i) siempre es el ultimo del indice en este caso 3 de appsInstalled.length. Necesitaria que cada uno envie el indice correspondiente. Si alguien lo sabe desde ya muchas Gracias.

Por carloscba

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 01 Jul 2009 06:13 pm
Bueno encontre una solucion que no se si sera la adecuada pero funciona:

Código ActionScript :

for(var i:int=0; i<=appsInstalled.length; i++){
   var obj:NativeMenuItem =  new NativeMenuItem(appsInstalled[i]["name"].toString());
   obj.data = String(i);
   modules.push(obj);
   menu.addItem(modules[i]);
   modules[i].addEventListener(Event.SELECT, function(e:Event):void{launchApp(int(e.target.data))});
}

Por carloscba

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 01 Jul 2009 06:27 pm
Efectivamente mi estimado carlos :) esa es una de las formas de hacerlo, mas de una vez todos intentamos mandar parametros al detectar un evento y para esto se implementan soluciones como la tuya que lees tu propiedad ".data" yo suelo meter en mis objetos (en caso de ser dinamicos) una propiedad "indice" en caso por ejemplo de un SimpleButton que no admite que cree una nueva propiedad uso el nombre como parametro algo como "btn_1,btn_2,btn_n",como unica observación solo trata poco a poco de deshacerte de las "funciones anonimas" ;)

Saludos!!

Por Angel Roberto

Claber

248 de clabLevel



 

firefox

 

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