Vous pouvez utiliser l'interface utilisateur JQuery dialogue pour afficher un DIV comme une boîte de dialogue modale.
Voir http://docs.jquery.com/UI/Dialog/dialog#options
Cependant pour soutenir un dialogue synchrone truely (un appel de fonction de blocage) vous auriez besoin de l'aide du navigateur. Tous les navigateurs ne le supportent pas. IE a fait pendant de nombreuses années et mozilla a récemment ajouté showModalDialog à Firefox.
Avez-vous envisagé d'utiliser une fermeture pour continuer le rappel?
Exemple
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.
}
Depuis displayPrompt ne peut pas bloquer realiable sur tous les navigateurs, les cadres utilisera callbacks à la place: -
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();
}
}
bien sûr tout appel doSomethingWhichNeedsPrompt
devrait également être au courant de son nature asynchrone et là pour doSomethingWhichNeedsPrompt
peut avoir besoin de prendre le paramètre de fonction qu'il appelle après avoir fait tout son travail.