首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >冻结在Jquery对话框中的html

冻结在Jquery对话框中的html
EN

Stack Overflow用户
提问于 2015-05-18 17:24:28
回答 1查看 167关注 0票数 0

我正在开发一个客户端应用程序,在该应用程序中,我使用了jquery确认对话框。它要求用户确认,如果用户选择“是”,则应关闭对话框,然后删除表中的项。但是,我看到的是(如果用户选择“是”),应用程序正忙着删除表项,UI被冻结在对话框中。有什么方法可以从这段代码中得到预期的响应吗?(意思是关闭确认对话框,然后继续删除操作)。注意:这不在任何浏览器中;我使用IE组件在客户端小部件中加载html。

代码语言:javascript
运行
复制
$('<div title="Confirm" class="cfmDialog" />')
        .html('<span style="float:left; margin:0 7px 20px 0;"></span>' + "Are you sure you want to delete all items in table?")

        // Define the Dialog and its properties.
        .dialog({
            resizable: false,
            modal: true,
            title: "Delete table items",
            height: 150,
            width: 300,
            buttons: {
                "Yes": function () {
                    $(this).dialog('close');
                    deleteTableItems();
                },
                "No": function () {
                    $(this).dialog('close');
                }
            }
        });
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-18 17:29:43

您可以在超时后运行deleteTableItems()

代码语言:javascript
运行
复制
"Yes": function() {
    $(this).dialog("close");
    setTimeout(deleteTableItems, 1);
},

但是,这仍然会冻结浏览器,当函数运行时,它只允许首先关闭对话框。最好的解决方案是修复deleteTableItems,使其异步运行。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30309372

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档