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 ready イベントで指定しましたか..

これを試して

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

// それが機能しない場合は、明示的に表示してみてください。

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