我正在尝试做到这一点,如果您单击是或否,则只会发生一次。现在,如果您第一次单击“否”,第二次单击“是”,它将执行两次。

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
        }
    });

}

09-25 17:19