programing

JS / jQuery를 사용하여 브라우저에서 터치 스타트 지원을 확인하는 방법은 무엇입니까?

copyandpastes 2021. 1. 19. 08:18
반응형

JS / jQuery를 사용하여 브라우저에서 터치 스타트 지원을 확인하는 방법은 무엇입니까?


모범 사례를 따르기 위해 사용중인 장치에 따라 적절한 JavaScript / jQuery 이벤트를 사용하려고합니다. 예를 들어, 우리는 onclick 또는 touch 이벤트가 포함될 태그가있는 모바일 사이트를 구축하고 있습니다. iPhone의 경우 "touchstart"이벤트를 사용하고 싶습니다. 해당 핸들러를 객체에 바인딩하기 전에 장치가 "touchstart"를 지원하는지 테스트하고 싶습니다. 그렇지 않은 경우 대신 "onclick"을 바인딩합니다.

이를 수행하는 가장 좋은 방법은 무엇입니까?


이벤트가 다음에서 지원되는지 감지 할 수 있습니다.

if ('ontouchstart' in document.documentElement) {
  //...
}

이 기사를보십시오 :

isEventSupported이 출판 기능, 다양한 이벤트를 검출하기에 정말 좋은이며, 크로스 브라우저입니다.


이 코드를 사용하여 장치가 터치를 지원하는지 감지합니다.

'touchmove'대신 'MSPointerDown'이벤트를 사용하는 Windows 8 IE10에서도 작동합니다.

var supportsTouch = false;
if ('ontouchstart' in window) {
    //iOS & android
    supportsTouch = true;

} else if(window.navigator.msPointerEnabled) {

    // Windows
    // To test for touch capable hardware 
    if(navigator.msMaxTouchPoints) {
        supportsTouch = true;
    }

}

다음과 같은 경우 확인할 수 있습니다 typeof document.body.ontouchstart == "undefined"정상 DOM 이벤트에 다시 하락


이 문제 해결의 전체 소스 코드를 사용하여 모든 브라우저에서 작동하는 전체 설명을 만들었습니다. Detect touch screen devices in Javascript .

참조 URL : https://stackoverflow.com/questions/2915833/how-to-check-browser-for-touchstart-support-using-js-jquery

반응형