0

我在 jQuery UI 的 Resizable 中遇到了一个错误,试图将它与 jQuery UI 的对话框一起使用,containment在给定选择器或 DOM 元素时它不尊重该选项,并且通常在调整大小时表现得非常奇怪。

我基本上是这样做的:

dialog = $('<div>...</div>').dialog(options)
dialog.parent().draggable(options).resizable(options)

所以我需要另一种方法来进行遏制以调整大小。

有没有办法可以模拟遏制,也许是通过调用的resize回调resizable?我可以在哪里检查div调整大小是否太大,并将其强制为可接受的大小?

4

1 回答 1

0

根据我的经验,您不能只调用.draggable()对话框对象本身。

它也无助于 jQueryUI 将每个对话框元素重新添加到<body>标签中。

尝试这个:

// create the dialog
var w = $('<div>');
...
$(w).dialog(dlg_options);

// reparent the dialog, and reset the draggable options
var dlg = $(w).data('dialog').uiDialog;
$(dlg).appendTo(real_parent);
$(dlg).draggable(drag_options);

请注意,这种隐藏的 jQueryUI 内部结构 ( .uiDialog)的使用可能会在未来的版本中中断。

于 2011-11-19T02:30:14.200 回答