javascript before - jquery-ui-dialog - Come agganciare la finestra di dialogo close event




5 Answers

L'ho trovato!

Puoi prendere l'evento close usando il seguente codice:

 $('div#popup_content').on('dialogclose', function(event) {
     alert('closed');
 });

Ovviamente posso sostituire l'avviso con qualsiasi cosa abbia bisogno di fare.
Modifica: A partire da Jquery 1.7, il bind () è diventato attivo ()

menu

Sto usando il plugin jquery-ui-dialog

Sto cercando il modo di aggiornare la pagina quando in alcune circostanze quando la finestra di dialogo è chiusa.

C'è un modo per catturare un evento vicino dalla finestra di dialogo?

So che posso eseguire il codice quando si fa clic sul pulsante di chiusura, ma questo non copre l'utente che chiude con la fuga o la x nell'angolo in alto a destra.




$("#dialog").dialog({
autoOpen: false,
resizable: false,
width: 400,
height: 140,
modal: true, 
buttons: {
  "SUBMIT": function() { 
    $("form").submit();
  }, 
  "CANCEL": function() { 
    $(this).dialog("close");
  } 
},
**close: function() {
  alert('close');
}**
});



Puoi anche provare questo

$("#dialog").dialog({
            autoOpen: false,
            resizable: true,
            height: 400,
            width: 150,
            position: 'center',
            title: 'Term Sheet',
            beforeClose: function(event, ui) { 
               console.log('Event Fire');
            },
            modal: true,
            buttons: {
                "Submit": function () {
                    $(this).dialog("close");
                },
                "Cancel": function () {
                    $(this).dialog("close");
                }
            }
        });



A partire da jQuery 1.7, il metodo .on () è il metodo preferito per il collegamento di gestori di eventi a un documento.

Perché nessuno in realtà ha creato una risposta con l'utilizzo. on() invece di bind() ho deciso di crearne uno.

$('div#dialog').on('dialogclose', function(event) {
     //custom logic fired after dialog is closed.  
});



aggiungi l'opzione 'chiudi' come sotto campione e fai ciò che vuoi in linea

close: function(e){
    //do something
}



Related

javascript jquery jquery-ui modal-dialog jquery-ui-dialog