这是我的代码
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/