다른 버튼 중 적어도 한 번만 클릭하면 loadNext()
메서드를 한 번만 호출하고 싶습니다.버튼을 클릭 한 경우에만 메서드를 한 번만 호출하십시오 (최소한 한 번)
나는 체크 아웃 한 : Calling a Method Once
예를 들어, 내가 퀴즈 응용 프로그램을 질문하고 각 문제 유형에 대한 몇 가지 옵션을 가지고 있어요. 사용자는 옵션을 선택하고 다음 버튼을 눌러 다음 질문 (옵션 포함)을로드합니다 (배열에 미리 정의되어 있음). loadNext()
옵션을 두 번 이상 클릭해도 여러 번 호출하면 안됩니다.이 옵션 (버튼)의 onclick 메서드 내에서 loadNext()
을 호출하지 않도록 방지하고 옵션을 선택하지 않으면로드하지 않습니다.
내 생각은 false
으로 isClicked
을 미리 정의하고, 이러한 옵션의 온 클릭 방법 안에 반전 같은 것입니다,하지만 작동하지
, 지금까지 :.
var optButtons = $(".opt button");
var isClicked = false;
optButtons.click(function() {
isClicked = true;
console.log("clicked on opt buttons: " + this.id);
console.log("Current button is: " + this.id + " set as active");
//other stuffs
});
//some other stuffs
if (isClicked) {
console.log("Clicked once!");
//other stuffs
loadNext();
} else {
alert("Please select an option");
//browser is alerting very first time after opening `index.html` file
// and Next button click isn't working after that
}
사전에 감사드립니다. 나는 JS에서 새삼 스럽다.
상태를 추적하는 대신 다음 버튼을 클릭 할 때 다른 버튼의 상태를 확인하기 위해 (isClicked)를 검사하는 다음 버튼에는 onclick 처리기가 필요합니다. – JasonB