const clickButton = () => {
clearInterval(intervalId);
$rock.removeEventListener('click', clickButton);
$scissors.removeEventListener('click', clickButton);
$paper.removeEventListener('click', clickButton);
// 점수 계산 및 화면 표시
setTimeout(() => {
$rock.addEventListener('click', clickButton);
$scissors.addEventListener('click', clickButton);
$paper.addEventListener('click', clickButton);
intervalId = setInterval(changeComputerHand, 50);
}, 1000);
};
두 번째는 이벤트를 제거하는 대신에 함수가 아무 일도 하지 않게 하는 방법입니다. clickable이라는 변수를 만들고 버튼을 클릭한 동안에는 이 변수를 false로 만듭니다. 이때 if 문의 조건식이 false가 되므로 버튼을 클릭해도 코드가 실행되지 않습니다. 1초 뒤에 타이머를 재개할 때 clickable을 다시 true로 만들어 if 문 내부 코드가 실행될 수 있게 합니다.