2011-05-08 54 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