//index.js
var targets = document.querySelectorAll('i.favorites-icon');
//targets.addEventListener('click', handleClick);
function handleClick() {
for (let i = 0; i < targets.length; i++) {
targets[i].classList.remove('on');
console.log('works');
}
this.classList.toggle('on');
}
for (const key of targets) {
key.addEventListener('click', handleClick);
}
process:
해결
this.classList.toggle('on')
가 실행될 때, for문이 this.classList.toggle('on')
는 한번 도는데 for문이 알아서 3번찍히는 구조였음.this.classList.toggle('on')
가 for 문 위에 위치할 경우 또 실행이 안됌 3개 중 1개만 이벤트를 실행하게 하려면 나머지 2개의 값은 'on'의 값을 지워주는 함수가 필수였음.