javascript click事件:点击一次触发两次回调函数?

时间:2017-06-08 05:43:43

标签: javascript jquery

根据联邦通信委员会的项目(here),我目前正在建立一个" simons游戏"。   在我的第一个版本(非全功能)演示中,我发现了一个奇怪的错误,每次我点击按钮(彩色div)一次,回调函数" startAnswer"将被调用两次,因此游戏将无法正常播放,这是我在CodePen.io上的代码。   server = ['1'] start = 2 end = 4 for x in range(start, end + 1) and for y in serverip: print x print y https://codepen.io/NxDon/pen/eRpRra

这是关于我的代码如何工作的说明:

  1. 我通过新的GameConstructor创建游戏对象(第99行);

  2. 我将回调函数绑定到" start"和"严格"按钮。

  3. 当玩家点击"开始"按钮,回调函数" startGame"(第17行)将被调用,它将初始化一些参数,并显示玩家重复的答案;
  4. 当显示结束时,我点击四个响铃区域之一(我称之为按钮),以匹配答案。环区域已将其点击事件与回调函数" startAnswer(第55行)"在游戏开始阶段,我的直觉是如果我点击一次响铃区域,回调函数将调用一次,而startAnswer被连续调用两次。这部分让我感到困惑。谢谢你的帮助。

1 个答案:

答案 0 :(得分:2)

按钮有多个侦听器,

$(id).off('click');//removes past listeners
$(id).click(function(){
    startAnswer();
});

https://codepen.io/smsbhatt/pen/yXYPWW