jquery - 使 jquery 对话框大小和位置非持久化

标签 jquery jquery-ui jquery-ui-dialog

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

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

对话框从上次关闭的位置打开,大小是上次调整大小的大小。我不希望对话框以这种方式运行。我希望它每次打开时都以自动宽度从中心定位。我在对话框的初始化中提供了位置:'center'和宽度:'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');
    }); 
});

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

最佳答案

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

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

你可以这样做:

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

   }
}); 

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

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

或者,您可以在点击事件上使用 return false; 来防止出现不需要的行为。

关于jquery - 使 jquery 对话框大小和位置非持久化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11999055/

相关文章:

jquery - 如何在 bootstrap 按钮类 onClick 之间切换?

javascript - raphael js .serialize() 我得到空数组

Jquery Dialog - 多次添加到 DOM 的对话框字段

javascript - 自动完成出现在模态弹出窗口后面

Jquery - 使 UI 对话框出现在 href 上

jquery - 关闭时清除 jquery 对话框内容

javascript - 如何从 s :hidden tag in Struts 2 获取 jQuery 中的对象列表

javascript - jQuery UI 可按 desc 顺序设置

javascript - 如何在 headless 执行期间测试 jQuery UI 对话框

javascript 只允许重定向同一域内的 url