Attendre la réponse d'une fonction
Bonjour à toutes et tous !
Je construis mon script à l'aide de jQuery mais ma question concerne aussi le javascript de manière globale.
J'ai créé une fonction de confirmation personnalisée qui peut être appelée n’importe où en aval dans mon script.
Le but est d'éviter de se répéter au maximum en réduisant l'utilisation de la fonction à celle de "confirm()".
Le problème c'est que je n'arrive pas à bloquer l'execution des scripts comme le fait "confirm()".
Donc voilà où j'en suis :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
function showConfirm(mess, response) {
window.MyConfirm = {lastConfirm: null , confirmTime: 0};
var confirmWait = setInterval(function(){
console.log(window.MyConfirm.lastConfirm);
if(typeof(window.MyConfirm.lastConfirm) == 'boolean') {
clearInterval(confirmWait);
$(document).delay(3000);
return window.MyConfirm.lastConfirm;
}
}, 2000);
if(typeof(response) == 'boolean') {
window.MyConfirm.lastConfirm = response;
} else {
if(window.Browser == 'oldie') { return confirm(mess); } else {
var content = '<div>' + mess + '<input type="button" onclick="showConfirm(null, true);" value="OK" /><input type="button" onclick="return false;" value="Annuler" /></div>';
var notification = new NotificationFx({
message : content,
layout : 'growl',
effect : 'scale',
type : 'warning',
ttl: 300000
});
notification.show();
}
}
}
var confirm = showConfirm('<p>Confirmation</p>');//Stoper tous les scripts ici temps que "showConfirm" n'a pas retourner un boolean
console.log(confirm); |
Comme vous pouvez le voir j'ai essayé de me dépatouiller avec des setInterval et cie mais je ne m'en sors pas...
Qui aurait une bonne piste pour moi ??
Merci d'avance
Mickael