jQueryUi对话框卡在左上角(而不是可移动)

Mat*_*der 5 css jquery position jquery-ui jquery-dialog

所以我有一个简单的jQueryUi对话框,它不会居中,也无法移动.

我在控制台中收到的错误消息是指

jquery-ui-1.8.17.custom.min.js:36
Run Code Online (Sandbox Code Playgroud)

所以这并没有告诉我太多,只是传递给某个jQueryfunction的一些参数是无效的:

Uncaught TypeError: Object function (a,b){return new p.fn.init(a,b,c)} has no method 'curCSS' jquery-ui-1.8.17.custom.min.js:36
a.fn.position jquery-ui-1.8.17.custom.min.js:36
p.extend.each jquery-1.8.2.min.js:2
p.fn.p.each jquery-1.8.2.min.js:2
a.fn.position jquery-ui-1.8.17.custom.min.js:36
a.widget._position jquery-ui-1.8.17.custom.min.js:156
a.widget.open jquery-ui-1.8.17.custom.min.js:156
(anonymous function) jquery-ui-1.8.17.custom.min.js:17
p.extend.each jquery-1.8.2.min.js:2
p.fn.p.each jquery-1.8.2.min.js:2
a.widget.bridge.a.fn.(anonymous function) jquery-ui-1.8.17.custom.min.js:17
openMediaLibrary 6:456
onclick 6:187
Run Code Online (Sandbox Code Playgroud)

对话框div如下所示:

<div id="mediaLibrary" title="Bildgalleri">
     <iframe width="950px" height="500px" src="{{ path('ImageGallery') }}" style="border:0;" /></iframe>
</div>
Run Code Online (Sandbox Code Playgroud)

Dialog在这里初始化了......

$( "#mediaLibrary" ).dialog({
    height: 550,
    width:980,
    modal: true,
    autoOpen: false,
    position: { my: "center", at: "center" },
});
Run Code Online (Sandbox Code Playgroud)

......在这里开了

$( "#mediaLibrary" ).dialog( "open" );
Run Code Online (Sandbox Code Playgroud)

cha*_*tfl 1

您没有使用 的所有参数position。无论如何,对话框的默认值都位于页面中央,因此删除该position选项将解决您的问题。

另请注意选项对象中的语法错误..尾随逗号。这会在 IE 中崩溃

  • 尝试这个版本“http://code.jquery.com/ui/1.9.1/jquery-ui.js”。甚至不需要下载,只需更改标签中的src即可。如果这有效,可能需要更新 css,因为 1.9 也是主要版本 (2认同)