2016-07-28 2 views
2

이 함수를 사용하여 마우스 위치를 가져옵니다. 하지만 로그에서 음의 값을 받고 있습니다. 이 함수가 음수 값을 반환하는 시나리오를 찾을 수 없습니다.마우스 움직임에 대한 음의 좌표를 얻을 수 있습니까?

function mouseMoveTracker(event) { 
    var dot, eventDoc, doc, body, pageX, pageY; 
    event = event || window.event; 

    if (event.pageX == null && event.clientX != null) { 
     eventDoc = event.target && event.target.ownerDocument || document; 
     doc = eventDoc.documentElement; 
     body = eventDoc.body; 

     event.pageX = 
      event.clientX + 
      (doc && doc.scrollLeft || body && body.scrollLeft || 0) - 
      (doc && doc.clientLeft || body && body.clientLeft || 0); 

     event.pageY = 
      event.clientY + 
      (doc && doc.scrollTop || body && body.scrollTop || 0) - 
      (doc && doc.clientTop || body && body.clientTop || 0); 
    } 

    var mm = {x: event.pageX, y: event.pageY, time: Date.now()}; 
} 
+0

코드를 테스트했거나 부정적인 가치를 발견하지 못 했으므로 어떤 가치를 이야기 할 수 있습니까? –

답변

0

보십시오이

var x; 
var y; 
if (e.pageX || e.pageY) { 
    x = e.pageX; 
    y = e.pageY; 
} 
else { 
    x = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft; 
    y = e.clientY + document.body.scrollTop + document.documentElement.scrollTop; 
} 
x -= gCanvasElement.offsetLeft; 
y -= gCanvasElement.offsetTop; 

는 희망이 도움이!

관련 문제