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 会创建多个对话框。但我不想为以后的点击创建任何对话框。怎么做?

编辑2:

我在“upload_photos” div 的图像下方有一个按钮。我使用克隆(var dialog = $(this).clone();)。我也在那个对话框中得到那个按钮。但是,如果我单击按钮,则标记从网页中的图像开始,而不是在对话框的图像上。

解决办法是什么?

编辑3:

借助 jquery 的标记脚本在 'upload_photos' div 上进行选择。当它被克隆到对话框时,脚本仍然在网页中找到选择,而不是在对话框中。这可能与事件处理有关(?)或什么?我试过了

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

但无法解决。如何将jquery选择的注意力转移到对话框窗口上?

编辑4"

如果我使用var dialog = $(this)而不是,var dialog = $(this).clone(true);则在对话框上进行标记,但图像会从网页中消失。

4

1 回答 1

0

1)您正在使用页面 div 作为对话框,试试这个:

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

2)在对话框上 img 固定尺寸:

$("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 回答