L'interface Event représente tout événement qui a lieu dans le DOM ; certains sont générés par l'utilisateur (tels que des événements de souris ou de clavier), tandis que d'autres sont générés par des API (par exemple, des événements indiquant qu'une animation est terminée, qu'une vidéo a été suspendue, etc.). Il existe plusieurs types d'événements, dont certains utilisent d'autres interfaces basées sur l'interface principale Event. Event elle-même contient les propriétés et méthodes communes à tous les événements.

Interfaces basées sur Event

 Voici une liste d'interfaces basées sur l'interface principale Event , avec des liens vers leur documentation respective dans la référence de l'API MDN. Notez que toutes les interfaces d'événements ont des noms qui se terminent par "Event".

Constructeur

L'interface DOM <code>event</code> est exposée dans les objets <code>event</code> qui sont passés aux gestionnaires d'évènements sur divers éléments du DOM.

Event()
Crée un objet Event le retournant à l'appelant.

Propriétés

Event.bubbles Lecture seule
un booléen indiquant si l'évènement se propage vers le haut dans le DOM ou non.
Event.cancelBubble
un alias historique de Event.stopPropagation (). Définir sa valeur sur true, avant qu'elle revienne d'un gestionnaire d'événements, empêche la propagation de l'événement.
Event.cancelable Lecture seule
Un booléen indiquant si l'évènement est annulable.
Event.composed Lecture seule
Un booléen indiquant si l'événement peut ou non traverser la frontière entre le DOM shadow et le DOM normal.
Event.currentTarget Lecture seule
Une référence à la cible actuellement enregistrée pour l'événement. C'est l'objet auquel l'événement doit actuellement être envoyé ; il est possible que cela ait été modifié au cours du reciblage.
Event.deepPath 
Un Array (tableau) de Node  DOM à travers lesquels l'event a été propagé.
Event.defaultPrevented Lecture seule
indique si event.preventDefault() a été appelé ou non dans l'événement.
Event.eventPhase Lecture seule
indique dans quelle phase de l'évènement on se trouve actuellement.
Event.explicitOriginalTarget Lecture seule
La cible explicite originale de l'évènement (spécifique à Mozilla).
Event.originalTarget Lecture seule
La cible originale de l'évènement, avant toute modification de celle-ci (spécifique à Mozilla).
Event.returnValue
une alternative non standard (de versions anciennes de MS IE) de Event.preventDefault() et Event.defaultPrevented.
Event.srcElement
Un alias non standard (d'anciennes versions de MS IE) pour Event.target.
Event.target Lecture seule
une référence à la cible vers laquelle l'évènement était originellement destiné.
Event.timeStamp Lecture seule
Le moment de création de l'évènement, en millisecondes. Par spécification, cette valeur est le temps écoulé depuis le moment, mais en réalité les définitions des navigateurs varient ; en outre, le travail est en cours pour le changer en  DOMHighResTimeStamp.
Event.type Lecture seule
Le nom de l'évènement (insensible à la casse).
Event.isTrusted Lecture seule
indique si l'évènement est initié par le navigateur ou non (après un click d'utilisateur ou par un script utilisant une méthode de création d'évènement comme event.initEvent)

Propriétés obsolètes

Event.scoped Lecture seule
un Boolean indiquant si l'événement donné peut être propagé à travers la racine shadow dans le DOM standard. Cette propriété a été renommée composed.

Méthodes

Event.createEvent() 
Crée un nouvel Event (évènement) qui doit alors être initialisé par l'appel à la méthode initEvent().
Event.composedPath()
Renvoie le chemin de l'événement (objets sur lesquels les écouteurs seront appelés). Cela n'inclut pas les noeuds dans les arbres shadow si la racine shadow a été créée avec son ShadowRoot.mode fermé.
Event.initEvent()
initialise la valeur d'un évènement créé. Si l'évènement a déjà été propagé, la méthode ne produit rien.
Event.preventDefault()
Annule l'évènement (s'il est annulable).
Event.stopImmediatePropagation()
Pour cet évènement particulier, aucun autre écouteur ne peut être appelé.  Ni ceux attachés au même élément, ni ceux attachés aux éléments qui seront traversés plus tard (en phase de capture, par exemple)
Event.stopPropagation()
Arrête la propagation ultérieure d'évènements dans le DOM.

Méthodes obsolètes

Event.preventBubble() Obsolète depuis Gecko 24
Empêche l'évènement de se propager. Obsolète, utilisez la méthode event.stopPropagation à la place.
Event.preventCapture() Obsolète depuis Gecko 24
Obsolète, utilisez la méthode event.stopPropagation à la place.
Event.getPreventDefault()
Non standard. Retourne la valeur de Event.defaultPrevented. Utilisez à la place Event.defaultPrevented .

Spécifications

Spécification Statut Commentaire DOM
La définition de 'Event' dans cette spécification.
Standard évolutif  

Compatibilité des navigateurs

FonctionnalitéChromeEdgeFirefoxInternet ExplorerOperaSafari
Support simple Oui Oui Oui Oui Oui Oui
Event() constructor15 Oui11 Non11.66
bubbles Oui ? ? ? Oui ?
cancelBubble Oui1 Oui532 Oui Oui1 Oui
cancelable Oui ? ? ? Oui ?
composed53 ?52 ?40 ?
currentTarget Oui Oui Oui

9

6 — 93

Oui10
defaultPrevented18 Oui69115
eventPhase45 ? ? ?32 ?
explicitOriginalTarget Non Non Oui Non Non Non
isTrusted464 Oui Oui Non5334 Non
originalTarget Non Non Oui Non Non Non
returnValue Oui Oui Non6 Oui Oui
srcElement Oui Oui Non6 Oui Oui Oui
target Oui Oui Oui Oui Oui Oui
timeStamp497 Oui Oui7 Oui7367 Oui
type45 ? ? ?32 ?
createEvent Non ? ? ? Non ?
composedPath

53

50 — 538

?52 ?

40

37 — 408

?
getPreventDefault Non ? Oui — 599 ? Non ?
initEvent Oui Oui

17

Oui — 1710

Oui Oui Oui
preventBubble Non ? Oui — 24 ? Non ?
preventCapture Non ? Oui — 24 ? Non ?
preventDefault Oui Oui Oui9 Oui Oui
stopImmediatePropagation6 Oui109155
stopPropagation Oui Oui Oui9 Oui Oui
FonctionnalitéAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Support simple Oui Oui Oui Oui Oui Oui ?
Event() constructor1515 Oui1411.66 ?
bubbles Oui Oui ? ? Oui ? ?
cancelBubble Oui1 Oui1 Oui532 Oui1 Oui ?
cancelable Oui Oui ? ? Oui ? ?
composed5353 ?5240 ? ?
currentTarget Oui Oui Oui Oui Oui10 ?
defaultPrevented1818 Oui6115 ?
eventPhase4545 ? ?32 ? ?
explicitOriginalTarget Non Non Non Oui Non Non ?
isTrusted464464 Oui Oui334 Non ?
originalTarget Non Non Non Oui Non Non ?
returnValue Oui Oui Oui Non Oui Oui ?
srcElement Oui Oui Oui Non6 Oui Oui ?
target Oui Oui Oui Oui Oui Oui ?
timeStamp497497 Oui Oui7367 Oui ?
type4545 ? ?32 ? ?
createEvent Non Non ? ? Non ? ?
composedPath

53

50 — 538

53

50 — 538

?52

40

37 — 408

? ?
getPreventDefault Non Non ? Oui — 599 Non ? ?
initEvent Oui Oui Oui

17

Oui — 1710

Oui Oui ?
preventBubble Non Non ? Oui — 24 Non ? ?
preventCapture Non Non ? Oui — 24 Non ? ?
preventDefault Oui Oui Oui Oui Oui Oui ?
stopImmediatePropagation66 Oui10155 ?
stopPropagation Oui Oui Oui Oui Oui Oui ?

1. Starting with Chrome 58 and Opera 45, setting this property to false does nothing, as per spec discussion.

2. Prior to Firefox 53, this property was defined on the UIEvent interface. See bug 1298970 for more details.

3. On Internet Explorer 6 through 8, the event model is different. Event listeners are attached with the non-standard EventTarget.attachEvent method. In this model, there is no equivalent to event.currentTarget and this is the global object. One solution to emulate the event.currentTarget feature is to wrap your handler in a function calling the handler using Function.prototype.call with the element as a first argument. This way, this will be the expected value.

4. Starting with Chrome 53 and Opera 40, untrusted events do not invoke the default action.

5. In Internet Explorer, all events are trusted except those that are created with the createEvent() method.

6. See bug 453968.

7. Starting with Chrome 49, Firefox 54 and Opera 36, this property returns DOMHighResTimeStamp instead of DOMTimeStamp.

8. Supported as deepPath.

9. See bug 691151.

10. Before Firefox 17, a call to this method after the dispatching of the event raised an exception instead of doing nothing.

Voir aussi

Étiquettes et contributeurs liés au document

Contributeurs à cette page : loella16, hs0ucy, teoli, jsx, AshfaqHossain, Mgjbot, BenoitL, Fredchat, Takenbot
Dernière mise à jour par : loella16,