关闭模式jQuery对话框乱序导致IE中的错误

时间:2017-08-14 19:30:19

标签: jquery jquery-ui internet-explorer

作为删除旧浏览器支持的一部分,我最近将一个ASP.NET应用程序更新为jQuery 3.1.1和jQuery UI 1.12.1。在此之后,我注意到我在IE 11中将错误记录到控制台。

错误如下:

ParentComponent

我能够跟踪问题,即长时间运行的呼叫(例如可能需要2-3秒的数据库查询)打开“请等待”模式对话框。打开并填充内容对话框后,将关闭此对话框。关闭内容对话框时,会出现上述错误。

我能够将问题浓缩成以下JSFiddle:https://jsfiddle.net/qaf1ut4b/8/

在打开并填充内容对话框之后,我需要做什么才能打开等待对话框?关闭等待对话框首先解决了问题,但由于在数据库查询完成后将大量someInputValue元素加载到DOM中,因此内容对话框可能需要很长时间才能填充。

1 个答案:

答案 0 :(得分:1)

如果您在关闭模式时可以破坏模态,可以使用:

$('#wait-dialog').dialog({
        autoOpen: false,
        height: 88,
        width: 250,
        modal: true,
        title: 'Please Wait',
        close: function (event, ui) {
            $(this).dialog('destroy');
        },
        open: function () { }
    });

$('#content-dialog').dialog({
        autoOpen: false,
        height: 188,
        width: 350,
        modal: true,
        title: 'I Am Some Content',
        close: function (event, ui) {
            $(this).dialog('destroy');
        },
        open: function () { }
    });

这是你的jsfiddle的修复:
https://jsfiddle.net/qaf1ut4b/9/