ERIC MARTIN当我在显示另一个对话框弹出窗口时,简单模态窗口关闭事件无法正常工作....

时间:2012-07-10 18:59:51

标签: jquery-ui simplemodal

我使用简单的模态窗口在模态窗口弹出窗口中显示动态内容(表格)。当我在模态窗口中显示数据时,close事件正常工作。

但如果我在关闭jquery弹出对话框后在简单模态窗口上显示另一个jquery对话框弹出窗口,我的简单模态窗口弹出onClose事件将无法正常工作。

   // Base Modal popup
   $('#simple').modal({
       onShow: function() { 
           alert("activated"); 
       },
       onClose: function() {
           alert("deactivated");
           $.modal.close(); 
       }
   });

   // Jquery popup
   $('#kick').dialog({
       //ajax calls to show data  
   });
即使我使用$.modal.close();

关闭事件仍然无法正常工作 请...请帮助我......我已经花了一天时间......

3 个答案:

答案 0 :(得分:0)

因为我在这台计算机上没有VS2010并且无法确认实际语法,所以只是一些想法:(

$('#simple').close();
$(this).modal.close();
this.close();

但是,这就是我们关闭对话框的方式:

$(this).dialog("close"); 

所以这可能有用吗?

$(this).modal("close"); 

答案 1 :(得分:0)

     // I get rid of this

            $("#basic-modal-content").modal( {
    onShow : function() {
          // anything you want to do before 
               },
    onClose : function() {
        // when closing popup anything you wanna do 
        var a = this;
        a.close();
    }

    });

答案 2 :(得分:0)

为此,您必须在关闭第一个弹出窗口后打开第二个弹出窗口,大约需要2秒钟。因此,如果您使用settimeout()函数并通过提供2秒延迟或大于此时调用第二个弹出。它会工作。因为,这不是一个正确的方法。但它实际上适合我。

我正在使用Simple modal jquery插件:这是代码:

$('#forgot_password_modal').click(function (e) {
$.modal.close(); // this is written to close all the popups.
setTimeout(function(){
    $('#forgot_password_form').modal({   //to open a second popup
        minHeight:570,
        minWidth:600,
        maxWidth:671,
        opacity: 90,
    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.slideUp('slow', function() {
                    dialog.overlay.fadeOut('slow', function() {
                        $.modal.close(); // must call this!
                    });
                });
            });
        }});
}, 2000);    
    return false;
});