2011-09-17 4 views
2

나는 여기저기서 터치에 대해 읽었지만 완전히 이해할 수는 없다. 문서에서 모든 터치 이벤트를 차단하는 앱이 있습니다.터치 이벤트 미친 듯이 날뛰다

document.addEventListener('touchstart', function (e) { e.preventDefault(); }, false); 
document.addEventListener('touchend', function (e) { e.preventDefault(); }, false); 

지금 어디 선가 라인 위에 추가하기 전에 잘 작동 된 문서에서하지만 지금은하지 않았습니다.

<form onsubmit="search(event)"> 
    <input id="q" type="text" placeholder="Search.." /> 
</form> 

문서 터치를 차단해야합니다. 어떻게 문제를 재현 할 수 있으며 멋진 터치 이벤트를 자세하게 묘사하는 안내서를 알고 있다면 알려주십시오.

답변

1

지금은 모든 터치 이벤트를 차단하고 있지만 실제로 원하는 것은 모든 터치 이벤트를 차단하는 것입니다. 예외 : x, y 및 z;

preventDefault()을 조건부로 설정하면됩니다.

document.addEventListener('touchstart', function (e) { 
    e=e||window.event; 
    var recip=e.target||e.srcElement; 
    if(recip.nodeName.toLowerCase()=='input'){return true;} 
    e.preventDefault(); 
}, false); 
+0

왜 "true"를 반환합니까? – Neutralizer

+0

습관; 대체로 이벤트를 처리 할 때 false를 반환하면 진행되지 않고 true를 반환하면 처리가 진행됩니다. – Shad