자바스크립트 클릭이벤트 질문입니다. 채택완료
코쟁히
3년 전
조회 3,666
먼저 코드를 보여드리면,
</p>
<p><ul class="menu-wrap">
<li>menu01</li>
<li>menu02</li>
<li>menu03</li>
<li><a href="<a href="https://도메인.co.kr/areasearch/제주">제주</a></li>" target="_blank" rel="noopener noreferrer">https://도메인.co.kr/areasearch/제주">제주</a></li></a>
</ul></p>
<p><script type="text/javascript">
const menuWrap = document.querySelector('.menu-wrap');
function select(ulEl, liEl){
Array.from(ulEl.children).forEach(
v => v.classList.remove('selected')
)
if(liEl) liEl.classList.add('selected');
}
menuWrap.addEventListener('click', e => {
const selected = e.target;
select(menuWrap, selected);
})
</script></p>
<p>
이런 코드를 가지고와서 사용할려고하는데
li태그에는 잘 작동합니다. 클릭하면 selected 클래스가 붙어서 작동하고 하는데
마지막에 a태그를 넣은 li는 작동이 안됩니다..
li영역부분을 클릭하면되는데 a태크를 클릭하면 페이지 이동만 되고 selected 클래스도 안붙고 작동이 안됩니다ㅠㅠ 왜 그러는지 아시는 분 계실까요ㅠ

댓글을 작성하려면 로그인이 필요합니다.
답변 2개
채택된 답변
+20 포인트
3년 전
글만으로는 설명이 힘들어 아래 설명을 이해 못 하실 듯 합니다만 도움이 되고자 답변을 달겠습니다.
저 코드는 javascript로 메뉴 클릭 시 페이지 이동 없이 tab을 활성화/비활성화 코드이지,
페이지 이동 후 자동으로 해당 메뉴를 활성화 해주는 코드가 아닙니다.
저런 javascript 는 화면안에서 페이지 이동없이 tab 별로 특정 content 를 보여주기 위해서 사용합니다.
원하 시는 코드가 아닐 것 입니다.
페이지 이동 후 해당 메뉴가 활성화 표시되기 위해선 php 코드나, 좀 더 고도화된 javascript 가 필요합니다.
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
�
코쟁히
3년 전
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
죄송하지만 혹시 뭐라고 검색을해야 제가 원하는 비슷한게 나올까요?