2017-03-27 4 views
0

나는 mousedown, mousemove 및 기타 터치 이벤트를 사용하고 있지만 그 중 아무 것도 내 문제를 해결하지 못했습니다.캔버스에서 드래그 JavaScript

내 목표는 사용자의 손가락이나 마우스를 따르는 객체를 얻는 것입니다. mousemove를 사용해 보았지만 컴퓨터에서만 작동했습니다. 모바일 장치에서는 탭이 시작된 후에 만 ​​실패했으며 그 밖의 것은 없습니다.

컴퓨터에서 마우스를 클릭하여 끌면 컴퓨터가이를 끌기로 인식하기 때문에 문제가 발생할 수 있다고 생각합니다. 휴대 기기에서 드래그하면 탭이 완료되지 않은 것일 수 있습니다.

사용법이나 문제에 대한 아이디어가 있으십니까?

미리 감사드립니다.

가 여기에 터치 스크린 입력에 대한 몇 가지 예제 코드

document.addEventListener("mousemove", function(e){ 
    var x = e.pageX; 
    var y = e.pageY; 
}); 
+0

에 대한 polyfill이 발생한다. – Feathercrown

+0

@Feathercrown 코드가 포맷되지 않은 것처럼 보이지만 모바일 장치를 사용 중입니다. 나는 그 지위를 편집했다. –

답변

1

, 당신은 touch-event API 사용해야합니다. 새 pointer event API를 실험 할 수있는 경우 이 API는

또는

  • touchstart
  • touchend
  • touchcancel
  • 하는 TouchMove를 포함합니다.
    마우스 이벤트와 비슷한 코드를 작성할 수 있습니다. 예 :

    • mousedown> pointerdown
    • 와 mouseUp> pointerup
    • MouseMove 이벤트> pointermove

    이 사양이 더 이상 필요 및 제작 별도의 구현을하지, 마우스, 터치 스크린 및 펜의 다양한 입력을 통합 교차 장치 포인터를 쉽게 사용할 수 있습니다. 관련이없는 "포인터 이벤트"CSS 속성으로 착각해서는 안됩니다. - caniuse

    그러나 아직 다른 브라우저에서는 제대로 지원되지 않습니다. pointer's browsers compatibility

    다행히도, 우리는 당신의 코드가 도움이 볼 필요가 https://github.com/jquery/PEP

관련 문제