Pages

Passage de paramêtres Event

Prenons l'exemple de mozilla pour illustrer le passage de paramètre à un événement
JS Bin on jsbin.com

JS Bin on jsbin.com
JS Bin on jsbin.com
Cette solution n'est pas applicables dans le cas de boucles !
 Les closures sont très utiles pour le passages de paramètre lors d'un événement
JS Bin on jsbin.com

Angular partie 1





JS Bin on jsbin.com

quizz

dupontquizz.blogspot.com

Événement propagation

Dans le exemples suivant cliquer sur un élément.

 Cas de la propagation montante


Cas de la propagation descendante

Valeur de e et de this


Evénements la propagation

Nous allons utiliser le débogeur pour mieux comprendre la propagation des événements dans le DOM.

Il va de soit que body contient les balises. Supposons que Body contienne un p. Si vous cliquer à l'endroit où se trouve le paragraphe, vous avez cliqué sur le body et sur le paragraphe ?
Mais dans quel ordre !

  "Qui de la poule ou de l’œuf était avant  ?" 


un p dans un body : sens de propagation des événement

La réponse est la suivante  : c'est vous qui choisissez.

Examinons le cas, où l'on considère que vous avez cliqué d'abord sur le Body puis sur le paragraphe ; autrement dit il y a propagation de l'événement par le bas (voir figure précédente)

Cas Body->paragraphe


Remarquez le troisième paramètre de EventListener à true.

addEventListener(event, callback , true);

Utiliser le débogueur pour observer les priorités en mettant deux points d'arrêts (lig. 30, 37) et relancer le débogueur.


Lancer l'exécution et cliquer sur le paragraphe


Avancer le débogueur : on voit que body a réagi.

Avancer le débogueur : on voit que le paragraphe à réagi.


Cas paragraphe->body



Remarquez le troisième paramètre à false.
addEventListener(event, callback , False);

Comme précédemment, mettre deux points d'arrêts et lancer l'exécution puis cliquer sur le paragraphe



Avancer le débogueur : c'est maintenant le paragraphe qui réagi en premier.



Avancer le débogueur : c'est au tour du body.



Comparaison : le troisième paragraphe permet de contrôle le sens de propagation.

Le style est d'abord appliqué au body (1 cas)

Le style est d'abord appliqué au paragraphe (2 cas)



Stop propagation

On peut empêcher la propagation de l'événement.

Simuler des fonctions de base

Soit le code HTML suivant

 exemple

Cliquez sur le code précédant pour accéder au fichier test.

Tapez le code suivant dans la console.


Nous détectons la présence du retour chariot. Le test du type confirme notre hypothèse



Voici l'écriture d'une fonction permettant d'obtenir le premier élément (avec ou sans retour chariot).

function next( elem ) {
do {elem = elem.nextSibling;} while ( elem && elem.nodeType != 1 );return elem;
}


function first( elem ) {
elem = elem.firstChild;
return elem && elem.nodeType != 1 ?
next ( elem ) : elem;

}

first(document.body);







Para 1
second Para 2
dernier Para