MouseOver

0 visualização
Pular para a primeira mensagem não lida

Jean Mariano Duarte

não lida,
28 de set. de 2009, 10:01:3728/09/2009
para "Undisclosed...@san-smtp-141.san.psi.br
 
    Amigos, bom dia e ótima semana a todos !
 
Tenho um canvas, dentro dele Tres filhos ( Image e Label e Text)
 
Criei  um MouseOver para mudar a cor do fundo...
 
Funciona.... mas somente quando o Over esta sobre o Canvas, quando coloco na Image,Label ou Text, ele considera
o MouseOut e volta a cor para o #FFFFF.
Preciso que fique no Container Canvas inteiro, não importa se dentro dele tem objetos.

mouseOver="color_over(event)"
mouseOut="color_out(event)"

public
var cvs_over:String = "#D5EAFF";
public var cvs_out:String = "#FFFFFF";

public

function color_over(evt:Event):void{
    evt.target.setStyle(
"backgroundColor",cvs_over);
}

public function color_out(evt:Event):void{
    evt.target.setStyle("backgroundColor",cvs_out);
}
 
 
OBS: Esse meu canvas é um component, que é repetido várias vezes na aplicação...
 
Obrigado
Jean Duarte
http://www.riaworks.com.br

Andre Coelho

não lida,
28 de set. de 2009, 10:15:5128/09/2009
para fle...@googlegroups.com
Provavelemnte um caso de bubbles, não? Alguém pode elaborar?

André Coelho
DClick Web & Mobile Solutions

Sent from my iPhone

Rodrigo Pandini

não lida,
28 de set. de 2009, 12:15:2728/09/2009
para fle...@googlegroups.com
troca por currentTarget

evt.currentTarget.setStyle("backgroundColor",cvs_out);

2009/9/28 Andre Coelho <andre...@gmail.com>

Gabriela Trindade Perry

não lida,
28 de set. de 2009, 12:16:3528/09/2009
para flexdev
Sim, é "um caso de bubbles" mesmo.
Não conheço outra solução, além de verificar o tipo do objeto no
handler do evento (usar um "is" ou "typeof").

Gabriela Trindade Perry

não lida,
28 de set. de 2009, 12:19:5828/09/2009
para flexdev
@Rodrigo
Provavelmente não vai funcionar....

Rodrigo Pandini

não lida,
28 de set. de 2009, 12:22:0528/09/2009
para fle...@googlegroups.com
não sei se entendi muito bem o que ele queria fazer, mas por aqui funcionou.


2009/9/28 Gabriela Trindade Perry <gabrie...@hotmail.com>

@Rodrigo
Provavelmente não vai funcionar....


Clayton

não lida,
28 de set. de 2009, 12:26:2228/09/2009
para fle...@googlegroups.com
O Rodrigo está certo. Assim irá funcionar.

2009/9/28 Rodrigo Pandini <rodrigo...@gmail.com>



--
Clayton Marques Pereira

Gabriela Trindade Perry

não lida,
28 de set. de 2009, 12:39:5128/09/2009
para flexdev
E como ficou o código de vocês?

Jean Mariano Duarte

não lida,
28 de set. de 2009, 12:39:5328/09/2009
para fle...@googlegroups.com
    Opa,
 
    Funcionou perfeitamente Rodrigo..
    
    Só por questão de estudo, você sabe explicar a diferença?
 
 
Atenciosamente
Jean Duarte
http://www.riaworks.com.br

Jean Mariano Duarte

não lida,
28 de set. de 2009, 12:51:4628/09/2009
para fle...@googlegroups.com
Boa tarde Gabriela,

Ficou assim:


public var cvs_over:String =
"#D5EAFF";
public var cvs_out:String = "#FFFFFF";
public function color_over(evt:Event):void{

evt.currentTarget.setStyle("backgroundColor",cvs_over);
}

public function color_out(evt:Event):void{

evt.currentTarget.setStyle("backgroundColor",cvs_out);
}

Atenciosamente
Jean Duarte
http://www.riaworks.com.br

--------------------------------------------------
From: "Gabriela Trindade Perry" <gabrie...@hotmail.com>
Sent: Monday, September 28, 2009 1:39 PM
To: "flexdev" <fle...@googlegroups.com>
Subject: [flexdev] Re: MouseOver

>

Gabriela Trindade Perry

não lida,
28 de set. de 2009, 12:57:3528/09/2009
para flexdev
No Flash não funciona, e se comporta exatamente do jeito que o Jean
falou... Por isso achei que não haveria porque funcionar no Flex.

//dois MovieClips, um chamado outter que contém um chamado inner...
//o outter seria o canvas... o inner o image
outter.addEventListener(MouseEvent.MOUSE_OVER, color_over);
outter.addEventListener(MouseEvent.MOUSE_OUT, color_out);

function color_over(evt:Event):void{
trace("evt.type: "+evt.currentTarget.name)
}

function color_out(evt:Event):void{
trace("evt.type: "+evt.currentTarget.name)
}

A saída (no Flash) ficou:
mouseOver: outter //mouse sobre outter, o container
mouseOut: outter //mouse sobre inner, dentro do container
mouseOver: outter //disparado imediatamente depois do mouseOut

Isso provavelmente significa que a propagação do evento deve estar
sendo controlada pelo canvas... Senão, qual a outra explicação?
Responder a todos
Responder ao autor
Encaminhar
0 nova mensagem