JQuery диалоговое изображение
Вопрос
Я вызываю функцию, указанную ниже, при добавлении тега в область. Если этот тег удаляется успешно, он должен добавить изображение, и при двойном щелчке он должен создать диалоговое окно. Это происходит впервые, когда я удаляю тег, но не работает, когда я удаляю этот второй раз.
function dropFile()
{
$(".File_div").draggable({
helper:'clone',
revert: 'invalid'
});
var tag="#Normal_Tag1_div_dummy1";
$(Normal_Tag1_div_dummy1).droppable({
drop: function(ev,ui) { alert('dropped');
//accept: ".File_div"
var dropped = ui.draggable;
alert(dropped);
var file_img_src=document.getElementById('file_img').src;
var image='<img id="file_img'+count+'" class ="file_img" name="file_img" src='+file_img_src+" />"
$(image).appendTo(this).dblclick(
function(event){
alert("1");
window.event.cancelBubble = true;
//var jsmarty=WMCreateSmartyObject();
//var test_tpl= WMSmartyFetch(jsmarty, 'dialog.tpl');
//document.getElementById('test').innerHTML=test_tpl;
//dialogtest();
$("#dialog1").dialog(
{
/* buttons:
{
"Upload file": function(){
},
Cancel: function() {
$(this).dialog('close');
}
},*/
close: function() {
}
});
alert("2");
});
}
});
count++;
}
Решение
Проблема в том, что вы создаете диалог в событии, но во второй раз он знает, что он был создан, и ничего не делает. У вас есть два варианта здесь. Вы можете либо построить диалог заранее с атрибутом autoOpen: false, затем использовать .dialog ('open') и .dialog ('close'), либо вы можете уничтожить диалог, когда закончите с ним.
Чтобы уничтожить, добавьте это в ваш близкий обработчик.
close:function()
{
$('#dialog1').dialog('destroy');
}
Не связан с StackOverflow