« Programmation JavaScript/Évènement » : différence entre les versions
Correction de multiples fautes : évènements -> événements, javascript -> JavaScript, javaScript -> JavaScript.
(→Évènements : -> Événement) |
(Correction de multiples fautes : évènements -> événements, javascript -> JavaScript, javaScript -> JavaScript.) |
||
[[Programmation JavaScript/Sommaire|<< Retour au sommaire détaillé]] / [[Programmation_JavaScript/Objets_prédéfinis|Objets prédéfinis >>]]
Les '''événements
== L'objet Event ==
Lorsqu'un événement survient, un objet Event permettant de le décrire est créé. Il se propage alors dans l'arbre [[w:fr:Document Object Model|DOM]] selon trois phases déterminées par la cible (l'objet depuis lequel
* Capture : l'événement se propage de la racine du document (incluse) à la cible (exclue).
* Cible : l'événement atteint la cible.
* Bouillonnement : l'événement se propage dans le sens inverse : de la cible (exclue) à la racine du document (incluse).
Cet objet a été défini par le [[w:fr:W3C|W3C]], mais malheureusement [[w:fr:Internet Explorer|Internet Explorer]] en a sa propre définition ce qui oblige le [[w:fr:développeur|développeur]] à tenir compte du
Certaines propriétés de cet objet concernent tous les types d'événements et d'autres, tels que le bouton de la souris, sont spécifiques à un ou plusieurs
=== type ===
Identique sous Internet Explorer.
Renvoie le type
=== target ===
'''Équivalent Internet Explorer :''' <tt>'''srcElement'''</tt>.
Permet de récupérer l'élément depuis lequel
=== currentTarget ===
Non supporté par Internet Explorer.
Permet de récupérer l'objet auquel
=== stopPropagation ===
Empêche l'action normalement prévue de se dérouler. Par exemple, lors de l'appuie sur la touche tabulation dans un champ texte, cela annulera le changement de focus et permettra l'insertion d'une indentation. Il est préférable d'utiliser l'expression <tt>"return false;"</tt> (sauf pour Internet Explorer) qui est mieux supportée.
== Gestionnaires
Chaque événement peut être capté par les objets HTML concernés en leurs associant une fonction ou une commande
Il existe deux façons de définir les événements :
La commande peut aussi être une fonction que vous avez vous même définie ultérieurement.
'''2.''' En associant une fonction via
{{cadre code|Le même effet est obtenu différemment :|
== Écouteurs d'événements ==
Il est possible d'intercepter le flux
=== addEventListener ===
Cette méthode crée un écouteur pour un objet HTML. Il prend trois paramètres :
* type : le type
* EventListener : la fonction appelée lors de
* useCapture : <span style="color:#0000A0;">true</span> pour la phase de capture et <span style="color:#0000A0;">false</span> pour celles de la cible et du bouillonnement. Ce paramètre n'est pas disponible sous Internet Explorer qui ne traite que la cible et le bouillonnement.
Le mot clé this n'est hélas pas reconnu dans cette méthode, c'est pourquoi il est préférable d'utiliser le gestionnaire
{{cadre code|Lors de l'appuie sur le bouton "my_button", on affiche le type d'évènement la cible courante et on efface l'écouteur de sorte à ce que cette action ne s'effectue qu'une seule fois.|
=== onkeypress ===
Lorsqu'on maintient une touche appuyée. Pour tous les
'''Objets concernés''' : document, Image, Link et TextArea.
=== onkeyup ===
Lorsqu'on relâche sur une touche. Pour tous les
'''Objets concernés''' : document, Image, Link et TextArea.
|