【问题标题】:jQueryUi dialog stuck in top left corner (and not movable)jQueryUi 对话框卡在左上角(并且不可移动)
【发布时间】:2012-11-01 19:46:44
【问题描述】:

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

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

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

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

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" );

【问题讨论】:

  • 旁注:您关闭 iframe 两次:&lt;iframe /&gt;&lt;/iframe&gt;
  • 尝试使用最新的jquery ui库
  • 新版本成功了,谢谢!

标签: jquery css jquery-ui position jquery-dialog


【解决方案1】:

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

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

  • jQuery 1.8.2
  • jQuery UI 1.10.1

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 我删除了位置参数,没有变化。我只是尝试添加它,因为我首先遇到了问题。
    • 试试这个版本http://code.jquery.com/ui/1.9.1/jquery-ui.js。甚至不需要下载,只需更改标签中的 src 即可。如果这可行,可能需要更新 css,因为 1.9 也是主要版本
    【解决方案3】:

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

    【讨论】:

    • Pawan,请留下清晰、正确输入的答案。如果您希望人们能够向您发送电子邮件,您可以在您的个人资料中添加您的电子邮件。您无需在答案中提及。
    【解决方案4】:

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

    • 位置
    • 可拖动

    另外:

    • 使用您最喜欢的 HTML 验证器来确保您的标记是正确的
    • 确保 JavaScript 错误不是由其他代码引起的

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多