짧은 답변 : 테스트는 현재 모든 Chrome 버전에서 다시 작동합니다. 그러나 영원하지는 않을 것입니다.
긴 대답 :
크롬 팀 때문에 터치 할 수있는 화면과 데스크톱의 증가로, 데스크톱 브라우저로 터치 이벤트를 추가하고 싶었다. 그래서 그들은 아마 24.0 Canary의 시간을 지냈습니다. 그런 다음 사람들이 많은 사람들이 "터치 장치 감지"작업을하고 있다는 것을 알게되었습니다. 이 문제는 브라우저 장치가 장치가 아닌 장치 (Modernizr.touch
에 해당)이 아닌 경우에만 테스트하는 것입니다. 더 구체적으로는 W3C/Apple TouchEvents API입니다.
그들은 터치/비 터치 용 다른 버전의 Chrome을 출시하고 싶지 않으므로 시작시 터치 장치가 감지 된 경우에만 터치 API를 사용할 수 있도록 설정했습니다 (여기에서 설명 : http://code.google.com/p/chromium/issues/detail?id=152149).
이제 다시 테스트 할 수 있습니다 ... BUT - 미래를 보장하고 싶다면 접근 방식을 바꿀 수도 있습니다. 이유는 다음과 같습니다.
일부 브라우저는 Chrome에서 수행하는 전환을 수행하지 않습니다.
터치 기능이 동적 기능으로 변하고 있습니다 : Microsoft Surface 등으로 키보드와 마우스에서 플러그를 뽑아 터치 전용으로 사용할 수 있으며, 시작시 등에서 KVM 스위치를 통해 터치 모니터를 연결할 수 있습니다. 브라우저 공급 업체는 API를 표시하고 사라지게하고 싶지 않습니다. 악몽 일 것입니다. 따라서 어느 시점에 Chrome 담당자는 모든 기기에서 TouchEvents API를 영구 사용하도록 설정합니다. 이 테스트는 "오 탐지"를 다시 던지기 시작할 것입니다.
대신, 마우스, 터치와 스타일러스 입력을위한 공통 이벤트 인터페이스를 제공하는 PointerEvents API, 봐. 당신은 터치 인터페이스 등을위한 버튼이 더 큰 만드는 생각하는 경우, 곧 브라우저에 나타납니다 너무 pointer media query 사양 (그리고 hover 일), 거기에 - none
/coarse
/fine
-이 다른 입력 장치의 정확도를 구별 - 동적 인 경우 연결되어있는 포인터 장치에 따라 스타일을 조정할 수 있습니다.아주 멋지다.
그래서 내가하지 않으면 Modernizr.touchevents
스위치에 다시 하락, (이미 IE10에있는) 가능한 경우 PointerEvents 사용을 고려 거라고 의미를 나타냅니다.
브라우저가 터치를 지원할 때 false를 반환하거나 브라우저가 터치를 지원하지만 터치 하드웨어가 없을 때 true를 반환한다고 말하는 것입니까? –
@SamuelEdwinWard 나는 질문을 명확히했다 –
그냥 바인딩 두 이벤트가 작동하지 않는다고 가정합니다. –