마우스 이벤트 위치를 반환하는 함수가 있습니다.이상한 마우스 이벤트 위치 문제
// returns the xy point where the mouse event was occured.
function getXY(ev){
var xypoint = new Point();
if (ev.layerX || ev.layerY) { // Firefox
xypoint.x = ev.layerX;
xypoint.y = ev.layerY;
} else if (ev.offsetX || ev.offsetX == 0) { // Opera
xypoint.x = ev.offsetX;
xypoint.y = ev.offsetY;
}
return xypoint;
}
html5 캔버스에서 그림을 그리기 위해 마우스 이벤트를 캡처하고 있습니다. 때로는 xpoint에 대한 -ve 값을 얻습니다. 방화 광을 사용하여 응용 프로그램을 디버깅 할 때 정말 이상한 행동을하고 있습니다. 예를 들어 조건 (xypoint.x < 0 || xypoint.y < 0)으로이 함수의 4 번째 줄에 중단 점을 넣으면 중단 점에서 멈춰서 그 layer.x, layer.y를 볼 수 있습니다. 긍정적이고 정확했습니다. 그러나 xypoint.x 또는 xypoint.y는 음수입니다. firbug 콘솔을 사용하여 값을 재 지정하면 xypoint에서 올바른 값을 얻게됩니다. 아무도 내게 무슨 일이 일어나는지 설명 할 수 있겠 어.
정상적인 속도로 마우스를 움직이면 위의 동작이 잘됩니다. 마우스를 매우 빠른 속도로 움직이는 경우이 동작이 발생합니다. 마우스 위치를 처리
감사
답장을 보내 주셔서 감사합니다. 그러나 문제는 해결되지 않았습니다. XY 위치를 얻는 제 함수가 올바른 결과를주었습니다. 문제는 이벤트에서 변수로의 할당이 일어나지 않는 경우가 있다는 것입니다. –
아, 이해합니다. 두 브라우저 모두에서 과제를 잃어 가고 있습니까? – stslavik