-
클릭시 스크롤이 상단으로 이동하거나 주소 뒤에 #이 붙으면 범인은 A태그!Knowledge/HTML & CSS 2019. 8. 22. 23:02반응형
어딘가를 클릭했는데 갑자기 스크롤이 상단으로 이동하거나
다른 주소로 이동했는데
이렇게 URI 가장 뒤에 #이 붙어있는 걸 본적 있는가?
이 두가지 현상의 범인은 모두 a태그다.
정확히는 <a href="#"> 형태의, #으로 막아놓은 A태그
보통 A태그 형태만 쓰고 기능은 자바스크립트로 구현하고 싶을 때 이런식으로 #으로 A태그의 기능을 막곤 하는데
#이 나름의 기능을 해버리기 때문에 원래 의도와 다르게 작동하는 것이라고 할 수 있다.
해결 방법은 여러가지가 있고 다 간단한데 ( 참고 : https://blog.mywebstyle.pe.kr/?p=65 )
필자는 <a href = "javascript:void(0);" > 의 형태로 a태그 기능을 막는 걸 선호하고 추천한다.
뭐 특별한 이유는 없지만 애초에 A태그를 #으로 막는다는 것 자체가 귀차니즘의 산물인데
굳이 javascript 단에 가서 return false 나 preventDefault 같은 걸 쓰긴 번거롭고,
그렇다고 onclick을 html 태그 안에 집어넣는 건 표준 위반 같아서 괜히 찝찝하기 때문.
물론 이렇게 ( https://dreambringer.tistory.com/21 ) 애초에 a태그 전체를 선택해서 preventDefault를 걸 수도 있겠지만
이렇게
상단으로 가기 기능을 쉽게 구현할 수 있는 편안함이 사라질 수도 있으니
전부 막기보단 그냥 <a href = "javascript:void(0);" > 쓰자! 추천!
반응형'Knowledge > HTML & CSS' 카테고리의 다른 글
반응형 웹 기초 뷰포트(View port) 와 미디어 쿼리(Media Queries) (0) 2019.11.13 HTML 문서의 기본구조 ( DOCTYPE, html, head , meta, title, body ) (0) 2019.10.08 strong과 em 사용이 웹 표준에 어긋나지 않는 이유 (0) 2018.03.05 DOCTYPE을 선언하는 이유 (0) 2018.03.05 img요소에 width와 height속성의 직접 사용이 허용되는 이유 (1) 2018.02.27