2011-05-08 106 views
6

我正在做一个小型的jQuery应用程序。我需要一些确认框出现。但是,我不想将元素添加到主体中,因此我可以打开一个对话框。有没有办法避免这种情况?只需调用对话框并传递标题,文本和选项等参数?显示与jquery ui没有元素的模态对话框?

回答

14

在创建jQuery UI对话框时,当前版本(1.8。*)自动将添加到正文中。

所以,如果你这样做:

$('<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/的完整演示。

4

只要做到这一点:

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

显示如何把文字非常好。 – 2011-05-08 20:22:11