点击事件后的javascript函数回调

标签 javascript jquery

这是我的代码

function confirm(){

    okBtn.on('click', function(){
        // return true from confirm function
    });
    cancelBtn.on('click', function(){
        // return false from confirm function
    });
}


if(confirm()){
    // make something. I need to keep this code here, not in confirm function
}

我需要在单击 okBtn 或 cancelBtn 后执行回调。我需要将回调代码保留在函数中,因为我有很多使用此函数的情况。

最佳答案

使 confirm 函数接受回调并在事件处理程序内调用它:

function confirm(callback){
    okBtn.on('click', function(){
        callback(true);
    });
    cancelBtn.on('click', function(){
        callback(false);
    });
}


confirm(function(result) {
    // make something. I need to keep this code here, not in confirm function
});

但是没有办法同步处理事件处理程序(就像您似乎打算做的那样)。您必须绑定(bind)事件处理程序的根本原因是您不知道事件何时发生。相反,您必须对事件使用react。你必须习惯这种编码方式,没有其他办法。

关于点击事件后的javascript函数回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27939840/

相关文章:

javascript - 两个图像预加载器

javascript - 测试 400 状态码 axios 抛出错误

JQuery:为什么使用不显眼的 JavaScript/Document Ready 函数而不是 OnClick 事件?

javascript - 使用 jQuery 动画幻灯片点击

javascript - 只允许某些按键

javascript - Node.js 在循环和处理对象数组时异步丢失上下文

javascript - 衡量单页 Web 应用程序性能的好方法有哪些?

javascript - 光滑的 slider 同步 - 断点上的自定义箭头

javascript - 如何动态添加带有文本框的表格行?

javascript - 自动完成从数据库输出两个字段