我正在制作一个小型的jquery应用程序。我需要一些确认框出现。但是,我不想为了打开对话框而将元素附加到正文中。有没有办法避免这种情况?只需调用对话框并传递标题、文本和选项等参数吗?
当你创建一个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/以查看完整的演示。
只需去做:
$('<div>My dialog text.</div>').dialog({ modal: true });