刷新jquery ui对话框位置

Luc*_*oli 10 dialog position jquery-ui

我正在使用jquery对话框.此对话框的内容是动态的,因此对话框打开时高度会发生变化.

$("#a_div").dialog({ width: 400 });
Run Code Online (Sandbox Code Playgroud)

该对话框最初显示在页面的中心.但是当高度变化不再是中心的时候.

如何在不关闭的情况下刷新对话框的位置并重新打开它?

谢谢

Wil*_*Niu 23

您需要通过执行以下操作重新设置位置:

$("#a_div").dialog({
    position: { 'my': 'center', 'at': 'center' }
});
Run Code Online (Sandbox Code Playgroud)

在创建对话框时,该位置设置一次,但之后可以更改(或者只是重新设置相同的值,强制jQuery重新计算).

看这个演示:http://jsfiddle.net/petermorlion/3wNUq/2/

  • 不推荐使用`position`的String形式.你应该使用`position:{my:"center",at:"center",of:window}`. (9认同)
  • 对我来说,在最后添加 `window` 就成功了:`$("#a_div").dialog({position: { 'my': 'center', 'at': 'center', of: window }}) ;` (2认同)