第二次触发功能按钮后执行代码两次

时间:2018-02-21 09:58:22

标签: javascript jquery

我制作游戏,但我遇到了无法解决的问题。 我有功能,里面我有.click()的按钮。在我执行第二次功能按钮后,单击执行代码两次,例如我在这里发布了一些具有相同问题的简单代码。

当我点击第一个按钮警报被触发一次。当我单击第二个然后第一个按钮警报被触发两次。我只需要一次触发警报。按钮必须保持功能。抱歉英语不好。

此处jsfiddle https://jsfiddle.net/o2gxgz9r/25237/

function testf() {
  $("#1").click(function() {
    alert("test");
  });

  $("#2").click(function() {
    testf();
   });
}

testf();

2 个答案:

答案 0 :(得分:1)

您需要在绑定之前取消绑定click事件,

function testf() {
  $("#1").unbind('click');
  $("#1").click(function() {
    alert("test");
  });

  $("#2").unbind('click');    
  $("#2").click(function() {
    testf();
  });
}
testf();

答案 1 :(得分:0)

不知何故,此功能会将您的事件绑定两次。在此更改任何内容可以解决问题

  $(".address_field").each(function(index){  
var widget = new AddressFinder.Widget(this, "WR3NUKVGC4Q97FPHBJXL");