2

好的,这就是我想要实现的目标以及我面临的问题。要遵循的步骤是:

  1. 打开一个对话框
  2. 拖动它和/或重新调整对话框的大小
  3. 关闭对话框
  4. 再次打开对话框。

对话框从上次关闭的位置打开,大小是上次调整大小的位置。我不希望对话框以这种方式运行。我希望它每次打开时都以自动宽度从中心定位。我在对话框的初始化中提供了 position: 'center' 和 width: 'auto' 但它似乎没有帮助。

jQuery 版本:1.7.1 jQuery UI 版本:1.8.17 浏览器:IE9/IE8

下面是 HTML:

<div class='mydialog'></div>
<a href='#' id='one'>test1</a>

这是对话框本身的代码:

$(function(){
   var theDialog = $(".mydialog").dialog({
        autoOpen: false,            
        modal: true,
        width: 'auto',
        position: 'center',            
    });

    $('#one').click(function(){
        theDialog.html('some random text').dialog( "option", "title", "Dynamic Title").dialog('open');
    }); 
});

我尝试寻找解决方案,但找不到任何解决方案。我知道这可能违反直觉,但这是必需的。

4

1 回答 1

2

您是否尝试过使用此处文档中列出的关闭事件:

http://jqueryui.com/demos/dialog/

您可以执行以下操作:

$( ".mydialog" ).dialog({
   close: function(event, ui) {
       $(this).dialog( "destroy" );

   }
}); 

根据文档destroy,完全删除了对话框功能。这将使元素返回到它的预初始化状态。

您可能需要在单击事件上初始化对话框,以便在每次单击链接时重新初始化。

或者,您可以只使用return false;click 事件来防止不需要的行为。

于 2012-08-17T02:45:05.563 回答