2014-01-12 3 views
0

phpacademy 페인팅 앱 자습서를 사용하여 터치 스크린 지원을 추가하려고했습니다. 마우스 및 터치에 대해 동일한 코드가 있지만 터치 업 및 다운이 트리거되지 않습니다.javascript canvas touchstart 및 touchend가 터치 스크린에서 작동하지 않습니다.

canvas.addEventListener('mousedown', engage); 
canvas.addEventListener('mousemove', putPoint); 
canvas.addEventListener('touchstart', engage); 
canvas.addEventListener('touchmove', putPoint); 
canvas.addEventListener('mouseup', disengage); 
canvas.addEventListener('mouseout', disengage); 
canvas.addEventListener('touchend', disengage); 
+1

처리기에 사용하는 코드를 표시 할 수 있습니까? 이벤트 객체는 터치 및 마우스 이벤트와 조금 다르게 보입니다. console.log에서 트리거하지 않는다고 확인 했습니까? 그리고 어떤 브라우저를 사용해 보았습니까 (적어도 Safari는 캔버스로 터치 이벤트를 지원합니까?). – K3N

+0

http; // joeybabcock.me/tests/php/5.php/ 내가 글을 올리기 전에 글자 그대로 이틀 전에 javascript를 시작했습니다. 나는 사파리를 사용하려고 시도 할 것이고, 대답과 함께 가기보다는 – joeybab3

답변

1

캔버스 요소는 (내가 아는 절름발이) 터치 시작 이벤트를받지 못합니다. 작동 시키려면 캔버스 위에 div를 절대 위치로 놓고 div를 사용하여 touchstart 이벤트를 잡아야합니다.

+0

전체 페이지를 넘나 드는 div처럼 보일까? – joeybab3

+0

그걸 시도했지만 크롬과 사파리에서도 여전히 작동하지 않습니다. – joeybab3

+0

당신은 가지고있는 것의 요점을 만들 수 있습니까? 캔버스 위에 div를 가지고 있으면 모바일 사파리에서 저를 위해 일하고 있습니다. –

관련 문제