iphone iOS click
위 글의 내용을 간추리면 아래와 같다.
- iOS 개발자들이 의도적으로 발생시킨 현상이다.
- 그 이유는 사용자가 페이지를 스크롤 할 어떠한 원인으로 click 이벤트가 발생할지 모르기 때문이다.
즉, 사용자가 의도하지 않은 click 이벤트가 많이 발생할 수 있다는 말이다. - 그렇기 때문에 브라우저에 과부하를 줄 수 있다. 이를 방지하고자 이러한 현상을 의도적으로 넣었다.
- 이러한 이슈가 보고된해가 2010년이다. 그럼에도 불구하고 현재까지 수정 안하는 것은 iOS 개발자들이 일부로 의도했다는 증거이다.
여기까지가 위 포스트 글쓴이의 추측이다. 이래서 iOS 개발자들이 의도적으로 노린 것 같다는 내용이다.
위 글을 읽어보면 정확한 원인은 모르겠다고 한다.
여튼 2010년에 이슈라이징되어서 지금까지 해결안된 이슈는 맞는 것 같다.
무튼 위 내용들로 이 내용이 진짜인가 테스트 해봤다.
우선 어제 태스트 내용
- 세번째 main-section 위에 button 태그가 위치하면 처음 클릭시 이벤트가 바로 인식되어 콜백함수 실행
- 세번째 main-section 안 또는 아래 button 태그가 위치하면 처음 클릭시 클릭이벤트가 발생하지 않음
위 내용들을 바탕으로 세운 가설
위 글 내용들이 진짜라면, 그리고 위의 현상을 종합해보면
- 스크롤이 많이 되었을시 (당연히 터치이벤트, 클릭이벤트가 많이 발생했을 것이다.)
- iOS는 의도적으로 button 태그의 click 이벤트를 off한다. (여기서 중요한 점은 터치이벤트는 off하지 않는다는 점이다. 그래서 터치관련 이벤트를 넣으면 바로 작동하는 것 같다.)
- 그래서 첫번째 button 터치(or클릭)를 하면 바로 click 이벤트가 발생 안한다.
–> 그렇다면 스크롤을 많이 할때마다 해당 버튼의 처음 클릭은 인식이 안되어야 합니다. or 안되는 경우가 많아야 합니다.
가설을 입증하기 위한 테스트
- 아이폰으로 해당 현상이 발생하는 페이지 접속한다.
- 스크롤을 내려서 버튼을 클릭해 처음에 click 이벤트를 인식하는지 확인한다. 두번째 클릭하면 당연히 인식할 것이다.
- 다시 스크롤을 많이 한다.
- 다시 해당 버튼으로 돌아가 클릭해본다. 처음 클릭 이벤트를 인식못할수도 있다.
결론
위의 내용처럼 iOS에서 의도된 동작같다.
아니면 여전히 10년째 해결하지 못한 버그같다.
- 추가로 이 페이지말고도 다른 페이지에서 이런 현상이 많이 발생했었다. (생각해보니..)