내 사이트에 :hover
(js없이) 확장되는 CSS 메뉴가 있습니다.
이것은 iDevices에서 약간 깨진 방식으로 작동합니다. 예를 들어 탭은 :hover
규칙 을 활성화 하고 메뉴를 확장하지만 다른 곳을 탭해도 :hover
. 또한 :hover
'ed' 요소 내부에 링크가있는 경우 링크 를 활성화하려면 두 번 탭해야합니다 (첫 번째 탭 트리거 :hover
, 두 번째 탭 트리거 링크).
touchstart
이벤트 를 바인딩하여 iPhone에서 잘 작동하도록 만들 수있었습니다 .
문제는 때때로 모바일 사파리가 여전히 내 이벤트 대신:hover
CSS 에서 규칙 을 트리거하도록 선택한다는 것 입니다 touchstart
!
:hover
CSS에서 모든 규칙을 수동으로 비활성화 하면 모바일 사파리가 훌륭하게 작동 하기 때문에 이것이 문제라는 것을 알고 있습니다 (하지만 일반 브라우저는 더 이상 그렇지 않음).
:hover
사용자가 모바일 사파리를 사용할 때 특정 요소에 대한 규칙 을 동적으로 "취소"하는 방법이 있습니까?
여기에서 iOS 동작을보고 비교하십시오. http://jsfiddle.net/74s35/3/ 참고 : 일부 css 속성 만 두 번 클릭 동작을 트리거합니다. 예 : display : none; 그러나 배경은 아님 : 빨간색; 또는 텍스트 장식 : 밑줄;