2009-03-20 8 views
2

는하면 onMouseDown/onMouseUp에 /으로 onMouseMove 모델은 항상 여전히 UI 버그의 모든 종류의 원인이 끝날 것이다 불필요하게 복잡한 코드를 생성하는 저를 강제로 보였다. 내가 요즘 소프트웨어의 주요 부분에서도 볼onmousedown/onmouseup을 올바르게 사용하는 방법은 무엇입니까? 내가 마우스 처리 코드를 작성할 때마다

가장 큰 문제는 당신이 창 밖으로 드래그 한 다음 이동하자 "고스트 마우스"이벤트입니다. 일단 윈도우로 돌아 가면, 버튼이 눌러져 있어도 응용 프로그램은 여전히 ​​마우스가 다운 된 것으로 생각합니다. 특히 화면 경계로 이동하는 것을 강조 표시 할 때이 점은 특히 성가시다.

마우스 코드를 작성하는 올바른 방법이 아니면은 전체 모델은 결함이? 마우스 이동 및 마우스가 사용하면 응용 프로그램 창 밖으로 이동 캐럿에 관계없이 코드를 통과 있도록

답변

2

는 일반적으로 하나는 아래로 마우스의 마우스 이벤트를 캡처합니다. 호스트의 창으로 표시 기계 화면 영역 외부에 마우스를 추적하기 위해 VM 또는 원격 세션이있는 응용 프로그램에 대한 어려움을 실행할 때

는 최근에이 문제입니다.

+0

아마도 이것은 버블 캡처입니까? –

0

마우스 버튼을 추적하려는 환경이 확실치 않지만이를 처리하는 가장 좋은 방법은 onmousedown을 감지 한 후 onmouseup을 100 % 추적하는 마우스 수신기를 사용하는 것입니다.

그런 식으로, 사용자가에서 마우스 버튼을 놓으면 어떤 화면 영역에 문제가되지 않습니다. 그것은 그런 일이없이 재설정됩니다.