티스토리 뷰

bug

ios safari tap event bug

병약한소년-태희 2019. 10. 30. 14:24

a tag에 javascript로 이벤트를 추가하는경우 의도와 다르게 이벤트가 한번에 동작하지 않거나 아에 동작을 하지 않는 경우가 있다.

이벤트 동작 원리

  • a tag에 hover 스타일이 있는경우 : 한번 tap할 경우 ios safari는 hover 이벤트를 수행하고 버블링 이벤트가 발생하지 않는다.
  • label에 이벤트를 추가한 경우 : 해당 이벤트는 무시되고 label에 연결된 inpupt에 active를 활성화 하고 종료 된다.
  • button에 toggle 이벤트를 추가한 경우 : 최초 한번만 실행되고 포커스가 벗어 나지 않는 경우 재실행 되지 않는다.

해결방안

  • 별도의 자바스크립트 라이브러리를 이용하여 tap 이벤트를 구현한다.
  • hover효과를 제공하는 경우 별도의 이벤트를 스크립트로 구현하여 제공하고 hover style 을 제거한다.
    • hover = tap, click = doubletap
  • label 및 자식 노드에 대하여 이벤트를 추가할때에는 상위 상위 요소에 대하여 이벤트를 추가하고 자식요소의 속성 및 값을 컨트롤 하여 구현한다.

주의사항

  • 버블링 이벤트가 발생하지 않는다.
  • a tag는 목적에 맏는 링크요소로 사용한다.

'bug' 카테고리의 다른 글

모바일 크로스 도메인 새창 팝업  (0) 2019.10.31
ios safari bug : fixed inside fixed  (0) 2019.10.30
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함