2012-02-15 4 views
3

What's the best way to detect a 'touch screen' device using JavaScript? 에 따라 나는터치 스크린 감지 : 크롬 17

((!!('ontouchstart' in window) ? 1 : 0) == 1) 

이 문은 잘 또한 최신 크롬 브라우저 (V17)에, true 또는 false를 반환하여 터치 장치 감지를 구현; 똑같은. 내 코드를 조금 미화는 작은 기능

function isTouchDevice() { 
return ((!!('ontouchstart' in window) ? 1 : 0) == 1); 
}; 

불행하게도이 함수는 거짓 (위 stateted로) 인라인 불리는 경우 나, 문 자체가 제대로 작동하는 반면, 크롬 17 TRUE를 반환으로이 문을 넣어 콘솔에서 직접.

다른 브라우저 (IE, FF)는 잘못된 결과를 반환하지 않습니다.

아무도 설명 할 수 있습니까?

+3

불리언 표현식에 너무 많은 중복성이있을 이유는 없습니다. 필요한 것은 창에서''ontouchstart '뿐입니다. 자, id가 작동하지 않는 이유에 관해서는 : [Modernizr이하는 일] (http://modernizr.github.com/Modernizr/touch.html)을 확인하겠습니다. – Pointy

답변

0

저는 Chrome 17입니다. 거짓입니다. (OS X 10.7.3)