2010-01-29 18 views
7

Sto provando ad usare la finestra di dialogo jQuery come schermata di caricamento di ajax. Ho funzionato molto bene finora, ma mi piacerebbe che la schermata di caricamento non fosse chiudibile. Tuttavia sembra che la finestra di dialogo dell'interfaccia utente non abbia "chiudibile" come opzione?Finestra di dialogo dell'interfaccia utente jQuery - come renderla non chiudibile?

Come lo si rende non chiudibile? Ho provato a impostare closeText in bianco ma questo non ha funzionato. La piccola 'X' appare ancora nell'angolo in alto a destra.

Non credi che la chiusura debba essere un'opzione per il widget di dialogo?

Grazie

risposta

7

Ying, solo passare una funzione di callback per beforeclose:

$("#loading").dialog({ 
    beforeclose: function(){ return false } 
    // other options here 
}); 
+0

destro, mi dispiace. Questo è esattamente quello che avrei suggerito se non avessi trovato quella parte da solo. Sono contento che abbia funzionato per te! Assicurati di contrassegnare la risposta come accettata (fai clic sul segno di spunta grigio). Entrambi abbiamo punti di riferimento e aiuta le persone future con lo stesso problema a sapere quale soluzione ha funzionato per voi. Benvenuto in StackOverflow! –

+0

Oops, ho trovato un problema con questa soluzione. Quando chiamo $ ("# loading"). Dialog ('close') ora non fa nulla. Avevo bisogno che funzionasse così ho deciso di nascondere la "X" via css. – Ying

6

Doug, grazie per la rapida risposta. Che disabilita l'azione ravvicinata. Tuttavia, non ha nascosto la "X" nell'angolo in alto a destra. Ho finito per usare css per nascondere la "X".

/* hide the close x on loading screen */ 
.classForMyDialog .ui-dialog-titlebar-close { 
    display: none; 
} 
+2

Si dovrebbe anche considerare di impostare closeOnEscape su false, '$ (" .selector ") .dialog ({closeOnEscape: false});' all'inizializzazione o '$ (" .selector ") .dialog (" opzione "," closeOnEscape ", false); in seguito per impostarlo su false –

1

Come ho avuto su di esso grazie alla Ying e Doug

Classe:

.myDialog .ui-icon{ 
    display:none !important; 
} 

Jquery:

$(".ajaxloader").dialog({ 
     modal:true, 
     resizable:false, 
     dialogClass:'myDialog' 
    }); 
+0

Grazie, ha funzionato. –

+0

Nasconde anche le icone nella finestra di dialogo. Il selezionatore dovrebbe essere più concreto, credo. –

1

penso Ying è sulla strada giusta, ma si scopre che il .classForMyDialog (assumendo che sia il div con contenuto della finestra di dialogo) non ha l'icona come un bambino, quindi non ha funzionato.

ho avuto successo con:

$("#myDialogDivID").parent().find(".ui-dialog-titlebar-close").hide() 

Il genitore sceglie la finestra di dialogo busta div e quindi siamo in grado di trovare e nascondere l'icona vicino.

Colgo anche l'occasione per evidenziare il commento di impostare:

closeOnEscape: false 
Problemi correlati