在没有元素的情况下使用jQuery UI显示模态对话框?

6
我正在制作一个小型的jquery应用程序。我需要一些确认框出现。但是,我不想为了打开对话框而将元素附加到正文中。有没有办法避免这种情况?只需调用对话框并传递标题、文本和选项等参数吗?
2个回答

15

当你创建一个jQuery UI对话框时,当前版本(1.8.*)自动地将对话框添加到body中。

因此,如果你执行以下操作:

$('<div>').dialog({modal: true})

它只是有效。 但你应该确保在对话框关闭时调用.remove()以移除新元素!

function myalert(title, text) {
    var div = $('<div>').html(text).dialog({
        title: title,
        modal: true,
        close: function() {
            $(this).dialog('destroy').remove();
        },
        buttons: [{
            text: "Ok",
            click: function() {
                $(this).dialog("close");
            }}]
    })
};

myalert("Test", "This is a test modal dialog");

请查看http://jsfiddle.net/alnitak/G3GRZ/以查看完整的演示。


5

只需去做:

$('<div>My dialog text.</div>').dialog({ modal: true });

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接