2009-09-15 4 views
1

플렉스 3에는 버튼이있는 ItemRenderer가 있습니다. 사용자가이 렌더러를 클릭하고 드래그 할 수있게하려면 버튼을 클릭하기 만하면됩니다.MouseDown/MouseMove/Click 플렉스 드래그 앤 드롭 문제

지금 바로 드래그 앤 드롭을 시작하려면 렌더러가 "MouseMove"를 듣고 "클릭"을 수신하는 렌더러와 함께 작업하고 있습니다.

그러나 이것은 매우 망가져 있습니다. 누군가 스크롤 막대를 드래그하여 해당 렌더러 근처 어디든 오면 MouseMove가 렌더러에서 시작되어 드래그를 시작합니다. (누군가가 HDividedBox의 크기를 변경하는 경우 기본적으로 누군가가 앱의 아무 곳이나 클릭하여이 렌더러 위로 돌리면 원치 않는 드래그가 발생합니다.)

대체 방법은 이전 문제를 해결하는 MouseMove 대신 MouseDown에서 수신 대기하는 것입니다. 그러나 중첩 된 버튼은 클릭. 내가 버튼을 클릭 할 수있어 잃고 있지만, 렌더러는 그냥 드래그 할 때입니다 생각합니다.

어쨌든이 주변에 있나요?

답변

2

즉 처리하는 빠른, 쉬운 방법 버튼이 MouseDown을 수신하도록하고 이벤트 리스너에서 event.stopPropagation()을 호출하여 이벤트가 렌더러로 버블 링되는 것을 방지합니다.

+0

감사합니다. 제대로 작동 할 것 같습니다. – markmarkoh