2011-09-27 5 views
0

Flex 어플리케이션에서 툴팁처럼 작동하는 것을 만들었습니다. 특정 항목 렌더러 위로 마우스를 가져 가면 새 컨트롤이 튀어 나와 위치에 지정되고 롤아웃 할 때 제거됩니다. 작업 순서는 다음과 같습니다.툴팁에서 마우스 포커스를 무시 하시겠습니까?

  1. 롤오버 이벤트 처리기가 트리거되었습니다.
  2. 툴팁을 this.systemManager.topLevelSystemManager.toolTipChildren에 추가합니다.
  3. 내 툴팁 작성이 완료되면 x를 설정하고 툴팁의 y 좌표를 설정합니다 (작성시 동적이므로 너비와 높이가 계산됩니다).
  4. 트리거 된 이벤트 핸들러 롤아웃.
  5. 툴팁을 제거하십시오.

x 및 y 좌표를 현재 마우스 위치에서 x + 10, y + 10으로 설정하면이 작업이 정상적으로 작동합니다. 화면에서 부분적으로 그려지는 경우 도구 설명을 다시 배치하는 무언가를 추가하고 싶습니다. 필자는 화면에서 그려지는지 계산할 단계를 추가하고, 잘릴 경우 툴팁을 다시 배치합니다.

내 솔루션의 문제는 이제 마우스 아래의 화면에 툴팁을 추가하면 항목 렌더러에서 "rollOut"이 트리거되므로 다시 그려지는 무한 루프에서 실행되는 것으로 보입니다. 이것은 도구 설명의 제거를 트리거하고 1에서부터 프로세스를 다시 시작합니다.

제 질문은 짐작합니다. 지금 그것 밑에 있니? 아니면 다른 좋은 해결책이 있습니까? 미리 감사드립니다.

답변

0

아마도이 질문을 게시하기 전에 좀 더 검색해야합니다. 다른 사람이보고 싶으면 mouseEnabled=falsemouseChildren=false 옵션을 내 툴팁에 설정해야합니다.

0

한 가지 방법은 그려진 도구 팁도 마우스 아래에 오지 않도록하는 것입니다.

또는 도구 팁이 rollOut 후에 실제로 사라질 때까지 약간의 지연을 추가 할 수 있습니다. 그런 다음 새 툴팁의 mouse_over가 실행되면 페이드를 비활성화 할 수 있습니다.

이렇게하면 툴팁과 툴팁을 트리거하는 DisplayObject의 양쪽면에 마우스를 놓으면 툴팁이 사라집니다.

0

은 내가 currentTarget대상 귀하의 이벤트 특성을 파견 누가 알을 확인할 것입니다.

관련 문제