Cancel event pour des fonctions successives

Signaler
Messages postés
7
Date d'inscription
lundi 17 avril 2006
Statut
Membre
Dernière intervention
14 janvier 2009
-
Messages postés
7
Date d'inscription
lundi 17 avril 2006
Statut
Membre
Dernière intervention
14 janvier 2009
-
Bonjour,
je vais faire en bref :)
<

input
id="TXT"
type="text"
onblur="F1(event);F2(event)"/>

je veux faire le traitemeent dans la fonction F1 puis soit laisser ou empêcher la fonction F2 d'être executé.
Quel est la solution et qui soit valable pour IE et FireFox

Merci

6 réponses

Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
12
bonjour,
bah... dans F1 lance F2... uniquement lorsqu'il faut.
Cordialement          [mon Site] [M'écrire]  Bul         
Messages postés
7
Date d'inscription
lundi 17 avril 2006
Statut
Membre
Dernière intervention
14 janvier 2009

disons que je veux que je contrôle pas la 2ième fonction donc  dans F1 si j'ai un return true il l'autre fonction sera exécuté normalement puisqu'elle suit chronologiquement F1 sinon si j'ai un retun false F2 ne sera pas exécutée :)
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
12
>>je contrôle pas la 2ième fonction
et comme c'est dans F1 qu'il faut agir, ça importe peu !

remarque :  le javascript est "asynchrone"
en faisant f1(); f2();     ça lance F1, et sans attendre, immédiatement, ça lance F2

il faut donc attendre la fin de F1, tester le retour et lancer ou pas F2
( bien entendu attendre la fin de F1 suppose un setTimeout tant que
  la fonction n'est pas finie, sinon, ça monopolise toutes les ressources
  du système )

          [mon Site] [M'écrire] Bul         
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
12
..on"l'évènement voulu"="F1(event);"...
function F1(evt)
{ traitement...
  F2(evt);
}
          [mon Site] [M'écrire]  Bul         
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
12
il fallait lire :function F1(evt)

{ traitement...
  if ( nécessaire ) F2(evt);

}
Messages postés
7
Date d'inscription
lundi 17 avril 2006
Statut
Membre
Dernière intervention
14 janvier 2009

re bonjour,


F2 est une fonction dynamique attaché à chaque cellule d'un tableau, dès que la cellule perd son focus elle execute F2
dans un fichier .js j'ai la fonction F1 qui va faire un traitement.
Si je quitte le mode édition de la celulle la F2 va s'executer peu importe le résultat de F1 alors que je veux parfois bloquer l'evenenet onblur donc bloquer F2
pour IE j'ai trouvé une solution donc si j'ai F1(event);F2(event)
dans F1 je fais event.returnValue = false ou true puis dans F2 je teste event.returnValue
mais bien sur ça marche pas sur Firefox
 :)