2011-04-06 6 views
0

J'ai implémenté une boîte de dialogue JQuery pour remplacer tous les standards alert() et confirm() pour donner un meilleur aspect.JQuery Dialog appel synchrone

Le problème est qu'il s'agit d'un appel asynchrone et, dans la plupart des cas, je peux utiliser la méthode de rappel pour déclencher l'action après la réponse de l'utilisateur.

Mais dans un autre plugin, je peux utiliser le rappel, donc il faut que ce soit synchrone.

Exemple:

  1. un code js
  2. dialogue
  3. plus code js

Ligne 1,2 & 3 sont tirés avant la ligne de dialogue 2 a été complétée par l'utilisateur. Je ne ai besoin de la réponse de la boîte de dialogue juste pour elle d'arrêter l'exécution de la ligne 3.

+0

u peut montrer un code ici ou sur jsFiddle? – Neal

+0

La boîte de dialogue sera-t-elle affichée pendant un certain temps? Est-ce que l'utilisateur doit cliquer sur OK pour continuer? Qu'est-ce qui doit arriver? – Kevin

+0

duplication possible de [Tout remplacement de JQuery alert() pour le natif de JavaScript?] (Http://stackoverflow.com/questions/4913594/any-jquery-alert-replacement-for-javascripts-native-one) –

Répondre

0

ici est un exemple de ce que je pense u veux faire:

violon: http://jsfiddle.net/maniator/32BWw/

js:

function step_one(){ 
    $('body').append('hello'); 
    step_two(); 
} 
function step_two(){ 

    $('<div>').dialog({ 
     modal: true, 
     buttons: { 
      ok: function(){ 
       $(this).dialog('close'); 
      } 
     }, 
     beforeClose: function(){ 
      step_three(); 
     } 
    }).html('you sure?') 

} 
function step_three(){ 
    $('body').append(' there'); 
} 


step_one(); 

vous avez besoin pour callbacks l'étape de dialogue de fermeture