JQuery диалоговое изображение - PullRequest
0 голосов
/ 31 июля 2009

Я вызываю функцию, указанную ниже, при удалении тега в области. Если этот тег удаляется успешно, он должен добавить изображение, и при двойном щелчке он должен создать диалоговое окно. Это происходит впервые, когда я удаляю тег, но не работает, когда я удаляю этот второй раз.

   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++;

    }

1 Ответ

1 голос
/ 31 июля 2009

Проблема в том, что вы создаете диалог в событии, но во второй раз он знает, что он был создан, и ничего не делает. У вас есть два варианта здесь. Вы можете либо построить диалог заранее с атрибутом autoOpen: false, затем использовать .dialog ('open') и .dialog ('close'), либо вы можете уничтожить диалог, когда закончите с ним.

Чтобы уничтожить, добавьте это в ваш близкий обработчик.

close:function()
{
   $('#dialog1').dialog('destroy');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...