잠시 동안 터치 이벤트를 사용하기 시작했지만 상당히 문제가 발생했습니다. 지금까지는 터치 기능이 지원되는지 확인하고이를 기반으로 선택적 이벤트를 적용했습니다. 예 :마우스 및 터치에 대한 브라우저 기능 및 선택 이벤트 감지
if(document.ontouchmove === undefined){
//apply mouse events
}else{
//apply touch events
}
그러나 내 컴퓨터의 Chrome5 (현재 베타)에서 스크립트가 작동하지 않습니다. 이전에 Chrome, Firefox, IE 등이 아닌 Chrome5에서 document.ontouchmove
은 더 이상 undefined
이 아니라 null
이 아니며 조금 연구했습니다.
처음에 버그 보고서를 제출하고 싶었지만 마우스와 터치 기능을 모두 갖춘 장치가 있기 때문에 자연스러운 현상 일 수 있습니다. 내 OS에서 두 가지 유형의 이벤트 .
그래서 솔루션은 쉽게 보입니다. 두 가지 이벤트 유형 모두를 적용하십시오. 권리?
이제 모바일에서 문제가 발생합니다. 이전 버전과의 호환성을 유지하고 마우스 이벤트 만 사용하는 스크립트를 지원하기 위해 모바일 브라우저는 터치 (터치) 할 수도 있습니다. 그런 다음 마우스 및 터치 이벤트가 설정된 상태에서 매번 특정 핸들러가 두 번 호출 될 수 있습니다.
어떻게 접근하나요? 선택적 이벤트를 확인하고 적용하는 더 좋은 방법이 있습니까? 아니면 브라우저가 터치 및 마우스 이벤트를 동시에 발생시키는 경우 발생할 수있는 문제를 무시해야합니까?
테스트 할 수 없지만 터치 이벤트에서 false를 반환합니다. 기본 동작 ('이전 버전과 호환'마우스 이벤트 발생)을 취소 하시겠습니까? – gnarf