문제

영역에 태그를 떨어 뜨릴 때 아래에 주어진 함수를 호출하고 있습니다. 해당 태그가 성공적으로 떨어지면 이미지를 추가하고 두 번 클릭하면 대화 상자가 생성됩니다. 이는 처음으로 태그를 떨어 뜨릴 때 발생하지만 두 번째로 떨어질 때 작동하지 않습니다.

   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 adrated와 함께 대화 상자를 미리 빌드 한 다음 .dialog ( 'Open') 및 .dialog ( 'close')를 사용하거나 대화를 마치면 대화 상자를 파괴 할 수 있습니다.

파괴하려면 이것을 가까운 핸들러에 추가하십시오.

close:function()
{
   $('#dialog1').dialog('destroy');
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top