当我单击对话框上的“是”按钮时,它将在屏幕上停留5-10秒,直到startProcess()函数完成。对话框不应该在startProcess()开始之前关闭吗?我希望对话框立即通过关闭来响应,而不是等待startProcess()完成。
$("#dialog-confirm").dialog({
dialogClass: 'no-close',
resizable: false,
autoOpen: false,
maxWidth: 600,
width: 400,
fluid: true,
height: 'auto',
modal: true,
buttons: {
"Yes": function() {
$(this).dialog("close");
startProcess();
return true;
},
No: function() {
$(this).dialog("close");
return false;
}
}
}).css("font-size", "14px");
发布于 2015-01-17 08:43:49
您需要让startProcess()
异步运行。你可以这样做:
"Yes": function() {
$(this).dialog("close");
setInterval(startProcess, 1);
return true;
},
.dialog("close")
只是在DOM中隐藏对话框。但是在函数返回之前,浏览器不会根据DOM更新显示。
https://stackoverflow.com/questions/27994930
复制相似问题