JQuery插件SimpleModel保持重新打开动态加载的iframe

JQuery插件SimpleModel保持重新打开动态加载的iframe,jquery,iframe,simplemodal,Jquery,Iframe,Simplemodal,我发现了一个类似的问题,但公认的答案不是我想要的: 我想首先动态地将内容加载到iframe中,然后在它完成加载后,使用SimpleModal来显示它。我的问题是,它似乎不断出现 我已经将以下内容链接到一个按钮点击,它会很好地打开(尽管我不确定iframe内容在打开时是否真的完成了加载。)但是在漂亮的关闭动画之后,我看到ajax请求被重复,并且它会弹出打开 $.get('a/zong/299/' + number +"/", function(data) { $(document.body)

我发现了一个类似的问题,但公认的答案不是我想要的:

我想首先动态地将内容加载到iframe中,然后在它完成加载后,使用SimpleModal来显示它。我的问题是,它似乎不断出现

我已经将以下内容链接到一个按钮点击,它会很好地打开(尽管我不确定iframe内容在打开时是否真的完成了加载。)但是在漂亮的关闭动画之后,我看到ajax请求被重复,并且它会弹出打开

$.get('a/zong/299/' + number +"/", function(data) {
  $(document.body).append('<iframe id="zong" src='+data+
    ' width="490" height="350" style="display:none;border:none;"></iframe>');
  $('iframe#zong').load(function() 
  {
    $('#zong').modal({
      overlayCss: {backgroundColor:"#C4EFFF"},
      containerCss:{
        ...
      },
      overlayClose:true,
      onOpen: function(dialog){
        dialog.overlay.fadeIn('slow', function(){
          dialog.data.hide();
          dialog.container.fadeIn('slow', function(){
            dialog.data.slideDown('slow');
          });
        })
      },
      onClose: function(dialog){
        dialog.data.fadeOut('slow', function(){
          dialog.container.hide('slow', function(){
            dialog.overlay.slideUp('slow', function(){
              $.modal.close();
            })
          })
        })
      },
    });
  });
});
$.get('a/zong/299/'+number+“/”,函数(数据){
$(document.body).append(“”);
$('iframe#zong')。加载(函数()
{
$('#zong')。模态({
覆盖层:{backgroundColor:#C4EFFF},
集装箱船:{
...
},
是的,
onOpen:函数(对话框){
dialog.overlay.fadeIn('slow',function()){
dialog.data.hide();
dialog.container.fadeIn('slow',function()){
dialog.data.slideDown('slow');
});
})
},
onClose:函数(对话框){
dialog.data.fadeOut('slow',function(){
dialog.container.hide('slow',function()){
dialog.overlay.slideUp('slow',function(){
$.modal.close();
})
})
})
},
});
});
});
正如你所见,生活相当复杂;)必须在服务器上生成iframe源,然后加载iframe并在对话失去焦点时销毁它

PS:如果stackoverflow可以对复制粘贴的代码进行自动缩进,那就太好了,这要花很长时间了!;)

我曾尝试添加
$('#zong').attr('src','')在onClose函数中,但仍然没有运气,模态对话从不死生物返回

谢谢你的帮助

$.get('a/zong/299/'+number+“/”,函数(数据){
$.get('a/zong/299/' + number +"/", function(data) { 
    $('<iframe id="zong" src='+data+ 
    ' width="490" height="350" style="display:none;border:none;"></iframe>').modal({ 
      overlayCss: {backgroundColor:"#C4EFFF"}, 
      containerCss:{ 
        ... 
      }, 
      overlayClose:true, 
      onOpen: function(dialog){ 
        dialog.overlay.fadeIn('slow', function(){ 
          dialog.data.hide(); 
          dialog.container.fadeIn('slow', function(){ 
            dialog.data.slideDown('slow'); 
          }); 
        }) 
      }, 
      onClose: function(dialog){ 
        dialog.data.fadeOut('slow', function(){ 
          dialog.container.hide('slow', function(){ 
            dialog.overlay.slideUp('slow', function(){ 
              $.modal.close(); 
            }) 
          }) 
        }) 
      }, 
    }); 
}); 
$('').modal({ 覆盖层:{backgroundColor:#C4EFFF}, 集装箱船:{ ... }, 是的, onOpen:函数(对话框){ dialog.overlay.fadeIn('slow',function(){ dialog.data.hide(); dialog.container.fadeIn('slow',function(){ dialog.data.slideDown('slow'); }); }) }, onClose:函数(对话框){ dialog.data.fadeOut('slow',function(){ dialog.container.hide('slow',function(){ dialog.overlay.slideUp('slow',function(){ $.modal.close(); }) }) }) }, }); });
谢谢。这可能会停止重新出现的对话,但它不会等到iframe加载完成后动画开始。你能把.load事件或onload和模态对话结合起来吗?