根據FCC項目(here),我目前正在構建一個「simons遊戲」。 在我的第一個版本(功能不全)演示中,我發現了一個奇怪的錯誤,每次單擊按鈕(彩色div)一次,回調函數「startAnswer」將被調用兩次,因此遊戲將無法正確播放,這是我在CodePen.io的代碼。 my code
:https://codepen.io/NxDon/pen/eRpRrajavascript點擊事件:點擊一次觸發兩次回調函數?
這裏是我的代碼是如何工作的說明:
我通過創建新GameConstructor(線99)一個遊戲對象;
我將回調函數綁定到「開始」和「嚴格」按鈕。
- 當玩家點擊「開始」按鈕時,會調用回調函數「startGame」(第17行),它會初始化一些參數,並顯示供玩家重複使用的答案;
- 當顯示結束時,我點擊四個環區域(我稱之爲按鈕)中的一個來匹配答案。環區在遊戲開始階段綁定了其具有回調函數「startAnswer(line 55)」的點擊事件,我的直覺是如果我點擊一次環區域,回調函數將調用一次,而不是startAnswer被連續調用兩次。那部分讓我困惑。謝謝你的幫助。
你的代碼是非常大,因此請這裏提及的按鈕你點擊和調用回調函數「 startAnswer「兩次,這樣會更清楚。 –
@BibhudattaSahoo感謝您的提示,我已經爲我的代碼添加了一些摘要,重點是我點擊了其中一個環區域,但回調函數「answerStart」被調用了兩次,無論出於何種原因。 –