2009-11-03 5 views
0

Je crée une barre d'outils droite avec différents boutons. Quand je le retourne, il glisse à l'intérieur de la vue et lorsque je le déploie, il glisse hors de la vue de près de 90%. Chaque bouton a également des écouteurs d'événement rollOver/Out. Problème: lorsque je survole un bouton, l'événement de déploiement du conteneur (barre d'outils) est distribué et la barre d'outils se cache.Flex 3: Problème de déploiement d'événement Rollout/RollOver

Y a-t-il un moyen de garder caché/affiché sur le rollover/déploiement de la barre d'outils, et aussi justifier avec des boutons sur la barre d'outils?

Merci

Répondre

0

Si j'ai eu ce problème dans Flash I écouté événement mouseMoved et vérifié x et y de la souris. Si vous utilisez cette technique pour votre barre d'outils, vous pouvez utiliser le RollOver/Out pour les boutons. Mais peut-être que vous pouvez le résoudre plus facilement dans Flex que je ne connais pas.

Here's votre solution je pense, avec la propriété mouseChildren.

+0

merci, je l'ai également fait en utilisant mouseX-MouseY calcul de la position, mais je tiens à confirmer si c'est la meilleure façon de le faire. et je pense que c'est :) – Max

3

Si vous essayez d'arrêter un EventListener d'être appelé (et il semble que c'est votre problème), le plus simple est d'appeler

event.stopImmediatePropegation() 

Vous pourriez avoir à coupler avec l'ajout d'une priorité paramètre à addEventListener:

             // capture 
target.addEventListener(MouseEvent.CLICK, clickHandler, false, 1000); 
                   // priority 

l'astuce est de vous assurer que vous avez les menubuttons utilisent une priorité plus élevée que le menu lui-même, de cette façon vous pouvez empêcher le menu à l'écoute des boutons du menu.

+0

Je ne pense pas que ce soit sa question. –

+0

Je ne suis pas sûr que ce soit sa question, mais je pense que c'est la racine du problème qu'il essaie de résoudre. – cwallenpoole

+0

Merci Christopher :) – Max