2010-07-27 14 views
0

flex, je suis en utilisant le code suivant:flex, onMouseOut est trigerred sur l'enfant

mx: HBox id = "box1" mouseOver = "onBox ('box1')" mouseOut = "outofBox ('box1 «) » // ajout d'étiquettes // fermeture HBox

onBox ajoute une image comme enfant de box1:

var crossImage: image = new image(); crossImage.source = "cross.png"; crossImage.id = "croisé";

box1.addChild (image croisée);

et outofBox les supprime.

Je crois que cette image est l'enfant de HBox donc mouseOut ne devrait pas être déclenché quand je passe la souris sur l'image. Mais, au moment où je passe mon pointeur de la souris sur l'image, mouseOut est déclenchée. Pourquoi est-ce vrai?

Répondre

1

Définissez la propriété mouseChildren du conteneur à false

+0

Il fonctionne !!! Mais le problème est que si je mets mouseChildren = false, alors même je ne suis pas capable d'ajouter des écouteurs d'événements aux images (enfants). Par exemple, tickImage.addEventListener (MouseEvent.MOUSE_OVER, testeur); tickerImage est l'enfant et maintenant, le testeur n'est pas appelé. Une façon de le gérer? – svirk

+0

Vous pouvez supprimer la propriété mouseChildren (ou la définir sur true) et ajouter des événements mouseover et mouseout à votre image croisée. Donnez-leur à la fois le même gestionnaire d'événements que celui qui suit: 'event.stopPropagation(); event.preventDefault(); ' – Robusto

+0

cela n'a pas fonctionné. Je ne suis pas sûr si l'événement mouse out (du conteneur) ne sera pas appelé avant les événements pour l'image – svirk