2013-07-18 2 views
5

간단한 HTML 페이지가 있습니다. div를 터치하면 스크롤 할 수 없습니다. 이 페이지를 찾을 수 있습니다 here휴대 기기에서 스크롤 사용 안함

이 페이지를 firefox와 같은 데스크탑 브라우저에서 열면 div를 클릭하면 스크롤 할 수 없습니다.

이제 모바일에서 Android와 같은 동작을 원합니다. 사실 Android에서이 페이지를 열면 어떤 경우든지 스크롤 할 수 있습니다. 내 예제의 색상 죄송

)

+1

Chrome 및 Firefox 모두에서 스크롤 할 수 있습니다. – ediblecode

+0

마우스를 계속 클릭하면 스크롤 할 수 없게됩니다. – Podelo

답변

8

난 당신이 모바일 장치에서 스크롤을 사용하지 않도록 설정하는 방법을 묻는 생각 :

당신은 touchstarttouchmove에 대한 이벤트 리스너를 추가 할 수 있습니다. 그런 다음 이러한 이벤트가 발생하면 Modernizr을 사용하여 브라우저가 터치 장치인지 여부를 감지합니다. 분명히 모든 모바일 장치가 터치 장치가 아니며 고해상도 터치 장치가 있으므로 추가하거나 if 문에 자유롭게 사용할 수 있습니다.

document.addEventListener('touchstart', this.touchstart); 
document.addEventListener('touchmove', this.touchmove); 

function touchstart(e) { 
    e.preventDefault() 
} 

function touchmove(e) { 
    e.preventDefault() 
} 

또는 단지 모더 나이저를 사용하고 CSS 사용

html.touch body { 
    overflow:hidden; 
} 

을 그리고 효과적으로이나 문을 가지고 미디어 쿼리를 추가합니다.

+0

답장을 보내 주셔서 감사합니다. 이벤트 touchstart 및 touchmove가 제대로 작동하지만 preventDefault 메소드가 작동하지 않습니다. Modernizr과 CSS 코드는 작동하지 않습니다. 모바일 장치에서 테스트 할 수 있도록 코드를 업데이트했습니다. – Podelo

+0

@Podelo 업데이트보기, 매개 변수로'e'를 넣는 걸 잊었습니다. – ediblecode

+0

호 ... 그냥 고마워요. 지금은 많이 작동합니다 :) – Podelo

관련 문제