De lege ruimte van een canvas vuurt geen gebeurtenissen in Flex af

De lege ruimte van een canvas vuurt geen gebeurtenissen af.

Mijn probleem is dat ik een canvas in een toepassing heb die een diagram weergeeft dat uit verschillende figuren bestaat, maar de lege doekplaatsen triggeren niet de gebeurtenissen die ik nodig heb, zoals de rollover.

Kun je me vertellen hoe ik mijn canvas trigger-evenementen kan maken, zelfs in de lege ruimtes ?.

Ik heb de achtergrondkleur, mouseEnabled, color, border, alpha, opaqueBackground, etc ingesteld en niets werkt.

Ik gebruik Flex 4 en ik gebruik alleen een mx: Canvas.

Hier is de registratie van de gebeurtenislistener:

canDiagram.addEventListener(MouseEvent.ROLL_OVER, function(event:MouseEvent):void{if(actualCursor != null){CursorManager.setCursor(actualCursor,2,-10,-10);}},true);
canDiagram.addEventListener(MouseEvent.ROLL_OUT, function(event:MouseEvent):void{CursorManager.removeAllCursors();},true);
1

2 antwoord

U moet ervoor zorgen dat u een achtergrondkleur instelt op de achtergrondkleur samen met het instellen van backgroundAlpha op 0. Dit zorgt ervoor dat het nog steeds transparant is en dat uw muisgebeurtenissen worden geactiveerd. Dit is mijn testcanvas dat ik gebruikte om het werkend te krijgen



1
toegevoegd

Normaal gesproken kan dit probleem worden opgelost door een backgroundColor in te stellen en de achtergrondAlpha in te stellen op 0.

U zegt dat u dat al hebt geprobeerd; kan je een voorbeeld van je Canvas-definitie plaatsen?

Ik zou ook een trace-statement of iets dergelijks in je event handlers zetten, gewoon om zeker te weten dat ze niet daadwerkelijk worden gebeld. Ik heb situaties gehad waarin ik niet kon achterhalen waarom een ​​bepaalde gebeurtenis niet aansloeg, alleen om te ontdekken dat het was, maar mijn handler deed gewoon niet wat ik verwachtte.

0
toegevoegd