这对某人来说可能很简单。
我正在一个已实施引导箱的网站上工作。我曾经尝试过使用一个简单的对话框,就像在整个站点中一样,但是在我的慢速代码运行之后,对话框总是弹出。
我有一个函数self.myFunction,它的循环有点慢(由于敲除如何处理foreach),因此应该在循环运行时显示弹出窗口,但是要等到循环结束然后才出现
我尝试更改代码中的事物顺序。我尝试过将对话框放入循环中(从技术上讲,它可以工作,但不是我需要的)。我尝试在使对话框出现的调用之后立即设置超时,但也要等到循环完成后再执行。
self.checkPermCol = function () {
//call bootbox
bootbox.dialog({
size: 'small',
message: '<div class="text-center"><i class="fal fa-spin fa-spinner"></i>Please wait...</div>'
});
//some logic
var setTo = "N";
if ($('#' + event.target.id).prop("checked")) {
setTo = "Y";
}
ko.utils.arrayForEach(self.user().Securities(), function (security) {
security[event.target.id](setTo);
});
//dismiss bootbox
bootbox.hideAll();
return true;
};
我希望弹出窗口在循环播放时显示出来,并希望在循环播放后立即消失。
弹出窗口出现在循环之后,并被立即关闭(仅当我删除hideAll后,我才能看到它;
干杯,我们将不胜感激
答案 0 :(得分:0)
模式显示如下后,您可以尝试执行其余代码:
dialog.on('shown.bs.modal', function(e){
// Do something with the dialog just after it has been shown to the user...
});