Foros del Web » Creando para Internet » Flash y Actionscript »

Referenciar en una funcion al objeto que llama a esa funcion

Estas en el tema de Referenciar en una funcion al objeto que llama a esa funcion en el foro de Flash y Actionscript en Foros del Web. Hola, mi duda tiene que ver con Flex3 y ActionScript, el problema es el siguiente: Tengo varios mx:Label en mi programa, basicamente lo que quiero ...
  #1 (permalink)  
Antiguo 18/08/2009, 06:30
 
Fecha de Ingreso: febrero-2009
Mensajes: 77
Antigüedad: 15 años, 3 meses
Puntos: 0
Referenciar en una funcion al objeto que llama a esa funcion

Hola, mi duda tiene que ver con Flex3 y ActionScript, el problema es el siguiente:

Tengo varios mx:Label en mi programa, basicamente lo que quiero es usarlos como un boton o enlace, al estilo de JavaScript, usando CSS para que al poner el cursor encima las letras cambien de color y pongan el estilo subrayado, y que al retirar el cursor vuelva al estilo original, en negro y sin subrayado.

Ademas al evento click le he asignado una funcion para que cambie un par de cosillas, asi que la parte de mxml está asi:

Código :

Código:
<mx:Label text="Hoteles" id="l1" x="23" y="0" click="change('hotel')" mouseOver="cambia('encima')" mouseOut="cambia('fuera')"/>


En cambia(a:String) va a ser donde aplique los estilos, hasta ahora lo hice con

Código :

Código:
l1.setStyle("color",0x0174DF);
pero no me vale porque no sería genérico, yo necesito usar esa función para Label id="l2" y Label id="l3" .....

Por tanto, ¿cómo puedo llamar al objeto desde el cual estoy invocando la función?
En este caso al objeto label que llama a la función cambia(String) ???

También he probado con:

mouseOver="cambia(event)"
private function cambia(evt:MouseEvent):void{
Label(evt.target).setStyle("color",0x0174DF);
}

pero me da error:
Error de conversión forzada: no se puede convertir mx.core::UITextFieldarroba1840a5b1 en mx.controls.Label.

¿Se os ocurre algo? Gracias y un saludo.
  #2 (permalink)  
Antiguo 19/08/2009, 15:57
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 16 años, 8 meses
Puntos: 20
Respuesta: Referenciar en una funcion al objeto que llama a esa funcion

Tu codigo debe ser asi:
Código XML:
Ver original
  1. <mx:Script>
  2.     <![CDATA[
  3.     private function Arriba(Evt:Event) 
  4.     {
  5.         Evt.currentTarget.setStyle("color",0x0174DF);
  6.     }  
  7.    
  8.     private function Afuera(Evt:Event) 
  9.     {
  10.         Evt.currentTarget.setStyle("color",0x960535);
  11.     }  
  12.  
  13.     ]]>
  14. </mx:Script>
  15.  
  16.  
  17.     <mx:Label text="Hoteles" id="l1" x="23" y="0" mouseOver="Arriba(event)" mouseOut="Afuera(event)"/>
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 13:46.