어린이 요소에 대한 Flex 캔버스 발사에서 마우스 아웃 이벤트를 중지하는 방법

StackOverflow https://stackoverflow.com/questions/557028

문제

이미지를 표시하는 데 사용하는 컨테이너에 Canvas Itemrenderer를 사용하고 있습니다. 아래의 의사 코드를 참조하십시오.

image = new Image();
image.source = data.@thumb;
this.addChild(image);
this.addEventListener(MouseEvent.MOUSE_OVER, enlarge(image));
this.addEventListener(MouseEvent.MOUSE_OUT, shrink(image)); 

캔버스 위로 마우스하면 확대 기능이 호출됩니다. 그러나 마우스를 이미지 또는 다른 하위 요소로 이동하자마자 마우스 _out 이벤트가 발사됩니다.

누구 든지이 행동을 비활성화하는 방법의 방향으로 나를 지적 할 수 있습니까?

감사 :)

도움이 되었습니까?

해결책

당신은 사용해야합니다 MouseEvent.ROLL_OVER 그리고 MouseEvent.ROLL_OUT 대신 이벤트.

플래시 CS4 문서에서 :

마우스가 디스플레이 객체의 영역 또는 어린이 중 하나가 아닌 물체의 어린이 영역에 들어가면 디스플레이 객체는 롤오버 이벤트를 발송합니다. 이것은 마우스가 디스플레이 객체 컨테이너의 다른 하위 객체 위에 있더라도 마우스가 디스플레이 객체 컨테이너의 자식 객체의 영역에 들어갈 때마다 파견되는 마우스 오버 이벤트와는 다른 동작입니다.

다른 팁

나는 조쉬와 동의한다 ROLL_OVER 이벤트는 당신이하는 일에 더 적합 해 보입니다. 그러나 당신은 그것을 알고 있어야합니다 mouseChildren 의 자산 flash.display.DisplayObjectContainer (조상 UIComponent).

롤아웃이 저를 위해 작동합니다. Combobox 문제 : 이벤트 대상이 컨테이너의 어린이인지 확인할 수도 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top