我打开一个带有按钮点击事件的对话框。对话框包含确定和取消按钮。在IE中它工作正常但在firefox对话框中打开'取消'按钮正在工作,但'确定'按钮什么也没发生。
下面是我打开对话框的按钮代码。
$('#addImage').click(function ()
{
var url = 'Default.aspx';
var d = $('#dialog_img').html('<iframe id="ifrm" , width = 540 , height = 170></iframe>');
$("#dialog_img>#ifrm").attr("src", url);
d.dialog('open').dialog({ modal: true ,width: 560,resizable: false ,
buttons:
{
'OK': function() {
var img = document.createElement('img');
$(img).attr("id", "dyndiv" + count);
$(img).attr("width", 30);
$(img).attr("height", 50);
$(img).attr("src", 'Uploads/'+window.frames['ifrm'].document.getElementById('dvFileName').innerHTML) ;
var $ctrl = $(img).resizable({ containment: '#containment-wrapper'}).parent().addClass("resizable mydiv").draggable({
containment: '#containment-wrapper',
cursor: 'move',
delay: 200,
distance: 30,
opacity: 0.35
})
objid = "dyndiv" + count;
$(img).css("z-index" , $(img).css("z-index") + count );
$('#sel_obj_text').val("Image");
image_visibility();
count++;
$("#containment-wrapper").append($ctrl);
$('#' + objid).parent().css("position","relative");
$('#' + objid).parent().position({
of: $( "#containment-wrapper" ),
my: "center" + " " + "center",
at: "center" + " " + "center"
});
$(this).dialog('destroy');
},
'Cancel': function() {
$(this).dialog('destroy');
}
}
});
});
答案 0 :(得分:1)
在;
声明后,您错过了分号($ctrl
)。
在原始代码中,这一行:
var $ctrl = $(img).resizable({ containment: '#containment-wrapper'}).parent().addClass("resizable mydiv").draggable({ containment: '#containment-wrapper', cursor: 'move',delay: 200,distance: 30, opacity: 0.35})
在编辑过的代码中:
var $ctrl = $(img).resizable({ containment: '#containment-wrapper'}).parent().addClass("resizable mydiv").draggable({
containment: '#containment-wrapper',
cursor: 'move',
delay: 200,
distance: 30,
opacity: 0.35
}) // <-- Missing semi-colon (;)
答案 1 :(得分:1)
您应该使用$(this).dialog('close');
而不是$(this).dialog('destroy');
,以便在单击按钮时不会再次创建对话框。
答案 2 :(得分:0)
单击“确定”按钮后,图像将显示在由块'containment-wrapper'
创建的$ctrl
中。它适用于FF,IE。我能在这看到这个。您可以在firebug的帮助下详细查看代码停止的位置。鉴于代码被破坏(因为代码在这里是错误和复杂的。image_visibility(); count++
未在提供的代码中定义。)