0

単純なモーダル ウィンドウを使用して、モーダル ウィンドウのポップアップに動的コンテンツ (テーブル) を表示しています。モーダルウィンドウにデータを表示しているだけの場合、クローズイベントは正常に機能しています。

しかし、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  
   });

クローズイベントは、私が使用していても2回目は機能し$.modal.close(); ません...助けてください...私はすでにこれに1日を費やしていました...

4

3 に答える 3

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();
    }

    });
于 2012-08-28T06:46:16.153 に答える
0

このコンピューターにはVS2010がなく、実際の構文を確認できないため、いくつかのアイデア:(

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

ただし、これはダイアログ ボックスを閉じる方法です。

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

多分これはうまくいくでしょうか?

$(this).modal("close"); 
于 2012-07-10T19:06:59.650 に答える
0

このためには、最初のポップアップを閉じた後、2 番目のポップアップを開く必要があります。これには約 2 秒かかります。したがって、settimeout() 関数を使用し、2 秒以上の遅延を指定して 2 番目の pop を呼び出す場合。それが動作します。したがって、これは適切な方法ではありません。しかし、それは実際に私にとってはうまくいきます。

シンプルなモーダル 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;
});
于 2012-10-15T07:03:54.940 に答える