2010-06-30 8 views
2

터치 이벤트로 뷰포트가 드래그되고 있음을 감지 할 수 있습니까?모바일 브라우저 용 iPhone/Android 스 와이프 감지

다음 코드를 사용하여 손가락이 화면에 닿은 위치, 어떤 노드가 이벤트를 시작했는지 그리고 어디로 끌었는지 알 수 있습니다. 어느 문제를 해결하지만 정말 사용자가 페이지/창/뷰포트를 끌 때 감지하고 싶습니다.

내가하려는 일에 대해 더 명확히하기 위해 : Tweetie 2/Twitter for iPhone에서 HTML5 및 JavaScript로 새로 고침 활동을 시뮬레이트하고 싶습니다.

<script> 
window.ontouchmove = function(e){ 
    if(e.touches.length == 1){ // Only deal with one finger 
    var touch = e.touches[0]; // Get the information for finger #1 
    var node = touch.target; // Find the node the drag started from 
    $("p:last").html(
     "clienty: " + touch.clientY + "<br/>" + 
     "screenY: " + touch.screenY + "<br/>" + 
     "pageY: " + touch.pageY 
     ); 
    } 
} 
</script> 

답변

2

Sencha Touch을 확인해보십시오. 이러한 이벤트를 지원하는 모바일 프레임 워크이기 때문에 자체적으로 지원할 필요가 없습니다.

+0

ExtJS는 너무 많은 HTML/div clobber와 함께 제공됩니다 ... jQuery 플러그인을 사냥하고 싶습니다. –

6

touchmove 이벤트에서 event.targetTouches [0] .pageX 및 .pageY 속성은 터치 좌표의 실행 표시를 제공합니다. 원래의 터치 위치를 터치하여 저장하고 터치 위치에서 현재 위치를 업데이트 한 다음 touchend에서 x와 y 축의 차이를 계산하여 터치가 위, 아래, 왼쪽, 오른쪽인지를 결정해야합니다. 시작과 끝 위치. 터치 배열의 길이는 한 손가락 또는 두 손가락으로 핀치인지 여부를 알려줍니다.

관련 문제