Puede utilizar jQuery UI de diálogo para mostrar un DIV como un cuadro de diálogo modal.
Ver http://docs.jquery.com/UI/Dialog/dialog#options
Sin embargo para apoyar un diálogo verdaderamente síncrona (una función de llamada de bloqueo) que se necesita un poco de ayuda del navegador. No todos los navegadores lo admiten. IE lo ha hecho durante muchos años y recientemente, mozilla ha agregado showModalDialog a Firefox.
¿Ha considerado utilizar un cierre para proporcionar continuación en la devolución de llamada?
Ejemplo
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.
}
Desde displayPrompt no puede bloquear realiable en todos los navegadores, los marcos de las devoluciones de llamada utilizará en su lugar: -
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();
}
}
Por supuesto, nada de llamar doSomethingWhichNeedsPrompt
también tendría que ser consciente de su naturaleza asincrónica y allí para doSomethingWhichNeedsPrompt
puede necesitar tomar el parámetro de función que llama después de que haya hecho todo su trabajo.