Bonsoir,
j'ai eu un "ptit souss'aïe" de priorité.
Voici le topo :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 <!-- Scripts jQuery : initialisation --> <script type="text/javascript" src="http://code.jquery.com/jquery.js"></script> <script type="text/javascript" > $(document).ready(function() { // ------------------------------------------------------------------ // 1er script $('body').on('keyup', 'input', function() { var valeur = $(this).val(); if(valeur!=''){ $(this).next('span').html('OK, input renseigné !'); } }); // ------------------------------------------------------------------ // 2ème script $('#blocForm').on('keyup', 'input', function () { var valeur = $(this).val(); if(valeur!=''){ $(this).next('span').html('Bonne valeur, ma foi !'); } }); // ------------------------------------------------------------------ }); </script>Quand on tape du texte dans l'input, il s'affiche (cela provient du 1er script) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <body> <form id="blocForm"> <input name="test" type="text" value="" /> <span></span> </form> </body>
OR, le 2ème script "voudrait bien" afficher :OK, input renseigné !
Le'Bonne valeur, ma foi !'problèmeconflit vient du fait que le 1er script commence par :
alors que le 2ème script commence par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part $('body').on(
Mon instinct me dit que 'body' est "plus gradé que" (= "de niveau supérieur à") '#blocForm', puisqu'il l'englobe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part $('#blocForm').on(
D'ailleurs, en remplaçant $('#blocForm') par $('body') dans le 2ème, ça donne le résultat attendu. Ce qui ne me surprends pas.
MAIS (sachant que je souhaite garder 'keyup' dans les 2 scripts) :
=> est-il possible de donner la priorité au 2ème script (en conservant $('#blocForm') ) ??
=> ou d'exécuter le 2ème script APRES le 1er ??
Avec .delay() ?? (mais je n'ai pas réussi à le mettre où il faudrait)
Merci.
Partager