-
카테고리
-
세부 분야
웹 개발
-
해결 여부
미해결
while문으로 target 얻어오는 방법에서 질문 드립니다
21.02.20 18:54 작성 조회수 186
0
if문으로 target을 찾아서 하면 계층이 복잡해진다고 하셔서
while (!target.classList.contains('door')) {
target = parentTarget;
activate(target);
}
}
이런식으로 while문을 통해 target을 조사하는 식으로 바꿔서 해보았는데요, 문을 한 번 열면 while문이 무한루프를 돌아서 페이지가 먹통이 되어버리네요 ㅜㅜ 무엇이 문제일까요? 이 방법을 사용하려면 어떻게 해야할지 모르겠어요
답변을 작성해보세요.
2
1분코딩
지식공유자2021.02.25
아래처럼 해보세요^^
function doorHandler(e) {
let targetElem = e.target;
while (!targetElem.classList.contains('door-body')) {
targetElem = targetElem.parentNode;
if (targetElem.nodeName == 'BODY') {
targetElem = null;
if (currentItem) inactivate(currentItem);
return;
}
}
if (currentItem) inactivate(currentItem);
if (targetElem.classList.contains('door-body')) {
activate(targetElem.parentNode);
}
}
답변 1