마우스 나 포인터가 없어도 화면상의 요소를 가리키는 개념은 터치 장치에는 실제로 적용 할 수 없습니다. 자바 스크립트 호버 이벤트 탐색 또는 다른 목적에 의존하는 많은 웹 사이트에서 일부 터치 장치 은 한 번의 탭으로 mouseenter
을 실행합니다. 이벤트 처리기도 click
에 바인딩 된 경우 요소의 두 번째 탭에서만 발생합니다. 터치 장치에서 jQuery 호버 (mouseenter, mouseleave)를 무시하십시오.
hover()
jQuery의 기능 및 내부 mouseenter
mouseleave
사용하므로
hover()
및
click()
등록 요소와 후자
2을 트리거하는 두 개의 탭을 필요로한다. 많은 유스 케이스의 경우, 이것은 정확히 당신이 원하는 것입니다. 그러나
hover()
핸들링이 커서가있는 요소에만 강조 (툴팁, 글로우 등)를 추가하는 응용 프로그램에서는
onclick
핸들러에 해를 끼치는 모든 이벤트를 건너 뛰는 것이 더 합리적 일 수 있습니다.
나는 터치 사용자 경험을 맞춤 설정할 수 있도록 touchstart
및 touchend
이벤트를 특별히 듣는 방법을 알고 있습니다. 이것은 내 문제에 대한 유효한 해결책이지만,이 문제를 해결하는 "쉬운"방법이 있기를 희망합니다. 나는 서명 된 hover()
과 비슷한 메서드를 상상하고 있는데, 제공된 터치 핸들러 만 비접촉 장치에 부착하는 방식으로 구현됩니다.
jQuery에는 이러한 메소드가 있습니까? 모든 플러그인? 또는 나는 무엇인가 여기에서 멀리 바라보고 있냐?
1 행동은 아이 패드, 아이폰과 몇 안드로이드 단말기에 확인했다.
바탕 화면과 터치 장치에서이 JsFiddle demo을 실행하면 내가 말하는 내용을 볼 수 있습니다.
왜 투표 결과가 좋을지 모르지만 두 옵션이 모두있는 기기에서 호버 이벤트가 느슨하지 않습니까? – Aaron