È possibile utilizzare JQuery UI Dialog per visualizzare un DIV come finestra di dialogo modale.
Vedi http://docs.jquery.com/UI/Dialog/dialog#options
Tuttavia per sostenere un dialogo veramente sincrona (una funzione di chiamata di blocco) si avrebbe bisogno di un po 'di aiuto da parte del browser. Non tutti i browser lo supportano. IE ha fatto per molti anni e recentemente mozilla ha aggiunto showModalDialog a Firefox.
Avete considerato l'utilizzo di una chiusura per fornire la continuazione sulla richiamata?
Esempio
function dosomethingwhichneedsprompt()
{
var a = "stuff";
var o = {}
//other code
displayPrompt("PleaseInputStuff",o) //o modified by prompt would like this to block
//continue to use data on o and the variable a after prompt dismissed.
}
Dal momento che non può displayPrompt blocco attendibile su tutti i browser, quadri utilizzerà callback invece: -
function doSomethingWhichNeedsPrompt(fnContinue)
{
var a = "stuff";
var o = {}
//other code
displayPrompt("PleaseInputStuff",o, fnCallback)
function fnCallback() {
//continue to use data on o and the variable a after prompt dismissed.
if (fnContinue) fnContinue();
}
}
Naturalmente nulla chiamando doSomethingWhichNeedsPrompt
avrebbe anche bisogno di essere a conoscenza del suo natura asincrona e lì per doSomethingWhichNeedsPrompt
potrebbe essere necessario prendere parametro di funzione che chiama dopo aver fatto tutto il suo lavoro.