5

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

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

jquery-ui-1.8.17.custom.min.js:36

所以这并不能告诉我太多,只是传递给某些 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

对话框 div 如下所示:

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

对话框在这里初始化...

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

...并在这里打开

$( "#mediaLibrary" ).dialog( "open" );
4

4 回答 4

2

我发现这是我一起使用的 jQuery 和 jQuery UI 版本的问题。

我发现这种版本组合使对话框从“粘”到左上角停止:

  • jQuery 1.8.2
  • jQuery UI 1.10.1
于 2014-10-08T10:15:14.227 回答
1

您没有将所有参数用于position. 对话框的默认值无论如何都以页面为中心,因此删除该position选项将清除您的问题。

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

于 2012-11-13T11:21:22.883 回答
1

将用户主题或插件目录中的 jQuery UI 版本文件更改为新版本的 jQuery UI。如果问题没有解决,则将相同的 jQuery UI 版本的缩小文件复制到wp-includes/js/jquery/ui文件夹(复制 ui 文件夹中的所有文件)。

于 2013-04-06T05:44:15.450 回答
0

您似乎正在使用自定义构建的 jQuery UI。在下载生成器中,确保您已包含推荐的组件,包括:

  • 位置
  • 可拖动

此外:

  • 使用你最喜欢的 HTML 验证器来确保你的标记是正确的
  • 确保 JavaScript 错误不是由其他代码引起的
于 2012-11-13T11:19:23.003 回答