我正在使用sweetalert要求用户输入输入以重命名标签。然后我进行ajax调用以更改服务器上的标签。如果成功,我将调用一个小的回调函数(postAction),该函数将更新UI并重命名UI上的标记。只要很少的回调函数具有“ swal(“ done!”);“语句,它就可以正常工作,因此用户单击此小的确认消息框,然后释放出sweetalert消息框。我试图查看是否可以调用一个函数来释放输入的sweetalert弹出窗口,而没有附加的“ swal(” done“)”语句,因此用户的点击次数将减少1次。是否有捷径可寻?
我现在能找到的就是在第二个弹出窗口中添加一个计时器。 swal(“ Done!”,{timer:500});可以,但不理想。

renameTag = function(tagId)
{
    swal({
        title: "Rename Gallery Tag",
        text: 'Please provide a new tag name',
        content: "input",
        button: {
            text: "OK",
            closeModal: false,
        },
    })
    .then(name => {
        var tagName = name.trim();
        if (tagName.length == 0)
        {
            swal({
                title: "Rename Gallery Tag Failed",
                text: "Tag name cannot be empty",
                icon: "error",
                button: "OK",
            });
            return;
        }
        else
        {
            ajaxAction("POST"
                    , "/User/RenameGalleryTag"
                    , { 'index': tagId, 'name': tagName }
                    , "rename gallery tag"
                    , {
                        'reload': false
                        , postAction: function () {
                            $(".selected-tag").text(tagName);
                            swal("done!");
                        }
                    });
        }
    })
}

最佳答案

您应该可以像这样关闭它

swal.close()

关于javascript - 在ajax调用后显式释放sweetalert弹出窗口,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47106658/

10-12 15:48