gpt4 book ai didi

javascript - 一个按钮绑定(bind)另一个按钮吗?

转载 作者:行者123 更新时间:2023-11-28 18:52:43 25 4
gpt4 key购买 nike

我试图在按下重置按钮时绑定(bind)开始按钮。当按下开始按钮时,它会解除其单击事件的绑定(bind)。但我想要这样,当单击重置按钮时,它会绑定(bind)开始按钮的单击事件,以便可以再次按下它。下面的不起作用。有什么想法吗?

//Start
$("#start").bind("click", function(){
$("#start").unbind('click')
addCompMove();
playerMove();
});
$("#reset").bind("click", function(){
$("#start").bind('click');
comp.length = 0;
player.length = 0;
hoverCount = 0;
score = 0;
console.log(comp)
});

最佳答案

on()off() 是 jQuery 自 1.7 版以来绑定(bind)和取消绑定(bind)事件监听器的首选方法。

您应该声明它们,而不是使用匿名函数。它更加模块化,更容易理解,并且可以让您做您想做的事情。

$("#start").on("click", startClicked);

function startClicked(e){
$(this).off("click");
$("#reset").on("click", resetClicked);
// other start stuff
}

function resetClicked(e){
$(this).off("click");
$("#start").on("click", startClicked);
// other reset stuff
}

其他一些答案的问题是,您很容易最终会得到一个事件监听器的多个实例堆叠在一起,所有实例都通过单击触发。如果您多次单击“重置”,您最终会得到许多您不想要的“开始”事件监听器的绑定(bind)。根据您想要的功能,请确保一次只允许一个按钮附加一个监听器,或者取消绑定(bind)所有先前的监听器并仅重新绑定(bind)您想要的监听器。

关于javascript - 一个按钮绑定(bind)另一个按钮吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34213812/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com