当我单击对话框上的“是”按钮时,它将在屏幕上停留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");
答案 0 :(得分:0)
您需要异步运行startProcess()
。你可以这样做:
"Yes": function() {
$(this).dialog("close");
setInterval(startProcess, 1);
return true;
},
.dialog("close")
只是隐藏了DOM中的对话框。但是在函数返回之前,浏览器不会基于DOM更新显示。