我正在尝试做到这一点,如果您单击是或否,则只会发生一次。现在,如果您第一次单击“否”,第二次单击“是”,它将执行两次。
function confirm() {
$("#no").one("click", function(){
return false;
});
}
$("#yes").one("click", function () {
//do something
});
感谢帮助
最佳答案
我假设这两个事件都附加在document.ready上,这意味着除非您另外指定,否则它们将无限期保持活动状态。
以下方法非常基本,只需将变量“ hasClicked”设置为false。并单击其中任何一个,将“ hasClicked”设置为true。每个按钮都有一个if-结构,如果'hasClicked'为false,则仅执行代码。
请尝试以下操作:
var hasClicked = false;
function confirm(){
$("#no").one("click", function(){
if (!hasClicked){
hasClicked = true;
return false;
}
});
$("#yes").one("click", function () {
if (!hasClicked) {
hasClicked = true;
//do something
}
});
}