1

jQueryUI ダイアログを使用するためのコード スニペットは次のとおりです。

 $(".upload_photos").bind('click', function (e) {
     e.preventDefault();
     var dialog = $(this);
     dialog.dialog({
         width:860,
         height:560,
         autoOpen: false
     });
     dialog.dialog('open');
 });

HTML マークアップ:

<div class="upload_photos">
    <img src="source" />
</div>

「upload_photos」div をクリックすると、ダイアログ ウィンドウに画像が表示されますが、背景ページからは消えます。

  1. バックグラウンドページで同時に表示し続けるにはどうすればよいですか?

  2. 画像がダイアログ ボックスに表示されるときに、さまざまなサイズ (幅と高さ) で表示したいと考えています。どうやってするか?

編集:

「upload_photos」div を複数回クリックすると、複数のダイアログが作成されます。しかし、後でクリックするためのダイアログを作成したくありません。どうやってするか?

EDIT2:

「upload_photos」divの画像の下にボタンがあります。クローン ( var dialog = $(this).clone();) を使用します。そのダイアログボックスにもそのボタンがあります。しかし、ボタンをクリックすると、ダイアログボックスの画像ではなく、Webページの画像でタグ付けが開始されます。

解決策は何ですか?

EDIT3:

jquery を使用したタグ付けスクリプトは、「upload_photos」div を選択します。ダイアログに複製されている場合、スクリプトはダイアログボックスではなく、Web ページで選択を見つけます。これは、イベント処理に関連 (?) している可能性があります。で試しました

var dialog = $(this).clone(true); 

しかし解決できませんでした。jquery選択の注意をダイアログウィンドウに向けるには?

EDIT4"

var dialog = $(this)代わりに使用するとvar dialog = $(this).clone(true);、タグ付けはダイアログ ボックスで行われますが、画像は Web ページから消えます。

4

1 に答える 1

0

1) ページ div をダイアログとして使用している場合は、これを試してください:

var dialog = $(this).clone();

2) ダイアログに固定寸法を表示するには:

$("img", dialog).addClass('fixedSize');

img.fixedSize {
    width: 500px;
    height: 500px;
}

3) 背景のクリックをブロックするには:

dialog.dialog({
    width:860,
    height:560,
    autoOpen: false,
    modal: true
});

詳細と構成については、ダイアログのドキュメントとオプションを参照してください。

于 2012-01-06T11:27:01.837 に答える