javascript - 第二次单击时如何不在单击事件中执行函数?

标签 javascript jquery

我正在尝试制作井字游戏。我有一个点击按钮来选择“x”或“o”,点击按钮后,游戏就会开始。我有另一个重置游戏的按钮,换句话说,当点击重置按钮时,它会返回选择“x”或“o”,一切都会重置。我的问题是,在我第二次单击“x”或“o”之后,gamerunfunction() 总是一次运行两次。我的代码是这样的:

$('#x').click(function(){
   gamerunfunction();
});
gamerunfunction(){
 $('#box1').click(function(){
   if (box1 is empty)
     do something here!
   else
     do something here!
  });
 }

所以,在我第二次点击#x 按钮之后。 gamerunfunction 中的 if 和 else 语句都被执行。第二次点击#x后如何避免执行gamerunfunction;

最佳答案

您正在 gamerunfunction() 中注册 .click(),如果多次调用它,您最终会触发重复事件。

你想要的是 .one() 函数。

关于javascript - 第二次单击时如何不在单击事件中执行函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45925174/

相关文章:

javascript - AngularJS ng-controller 声明

javascript - 数据数组中带有 php 循环的谷歌图表不显示

javascript - blueimp 文件上传多次触发添加事件

javascript - 使用 jQuery 检测特定浏览器版本

javascript - 为什么 getBackgroundPage() 没有在 chrome.runtime 中为我定义?

javascript - addEventListener() 不工作

javascript - 使用 JQuery 压缩 Javascript 条件 block

jQuery .load();不处理图像

javascript - JQuery - 在加载元素时处理元素

javascript - 如何在javascript中将字符串拼接成不均匀的部分