我正在使用JQueryUI来创建对话框。当我尝试使用.position({my,at,of})
method定位它时,对话框框架会保持不变但内容会移动。这种行为与两个最新版本的JQueryUI有些不同。
示例:
jsfiddle with v. 1.10.3 - div内容移动,在框架外保持可见
jsfiddle with v. 1.10.4 - div内容移动,如果在框架外隐藏
这是一个错误吗?我是否以某种方式滥用此功能?
答案 0 :(得分:1)
答案 1 :(得分:1)
进一步深入研究这个问题,以编程方式定位jQueryUI dialog
的“正确”方法是通过position option to dialog()
:
$('#dialog').dialog({position: {my:'top',at:'bottom',of:$('#other-element')} });
我仍然认为.position()
行为奇怪是违反直觉的,但以上是可行的替代品。
@nol的回答表明发生这种情况的原因是因为jQueryUI在原始div周围放置了包装器来创建框架;通过选择包装元素,.position({my,at,of})
也将正常工作。然而,这并不理想,因为它依赖于库所使用的类的知识。