0

我的 jquery 对话框出现了一些奇怪的错误。

当我让它自动打开时,对话框是完全空的。如果我退出对话框然后重新打开(通过标准对话框打开事件),则会出现内容。

jquery设置:

$("#content_locker").dialog({
autoOpen: true,
modal: true,
height: 600,
width: 800
});

在这里你可以看到我正在处理的网页(它是一个链接缩短服务)。

对话框 div 从源代码的第 148 行开始:

<div id="content_locker" title="Exclusive Content">

你会看到对话框是空的。如果您退出并单击解锁按钮,则正确的 html 就在那里。

有任何想法吗?

4

3 回答 3

1

这取决于顺序。如果使用autoOpen,则应先填充 html 内容,然后再初始化对话框。(autoOpen意味着一旦你初始化了对话框,它就会打开。)

$("#content_locker").html(the_html_content).dialog({
  autoOpen: true,
  modal: true,
  height: 600,
  width: 800
});
于 2012-09-21T03:22:59.373 回答
1

由于您的 css 上有以下代码,模态的内容在开头隐藏:

#content_locker{
    visibility: hidden;
}

尝试将其更改为:

#content_locker{
    diaplay: none;
}

它应该可以解决问题;)

于 2012-09-21T03:34:29.537 回答
0

当您尝试显示对话框时,似乎 HTML 尚不可用。您是否在 DOM 就绪事件中指定了它..

试试这个

  $(function() {
    $("#content_locker").dialog({
       autoOpen: true,
       modal: true,
       height: 600,
       width: 800
    });
  });

// 如果这不起作用,请尝试显式显示它 // 通过

  $("#content_locker").show();
于 2012-09-21T03:21:37.683 回答