--- title: Event slug: Web/API/Event browser-compat: api.Event translation_of: Web/API/Event ---
{{APIRef("DOM")}}
L'interface Event
interface représente un évènement qui se produit dans le DOM.
Un évènement peut être déclenché par une action humaine (clic avec la souris, appui sur une touche du clavier) ou généré par des API pour représenter la progression d'une tâche asynchrone. Il est également possible de déclencher un évènement à partir d'un programme, en appelant par exemple la méthode HTMLElement.click()
sur un élément ou en définissant l'évènement avant de l'envoyer sur une cible avec la méthode EventTarget.dispatchEvent()
.
Il existe de nombreux types d'évènements dont certains utilisent d'autres interfaces basées sur Event
. L'interface Event
contient les propriétés et méthodes qui sont communes à l'ensemble des évènements.
De nombreux éléments DOM peuvent être paramétrés afin d'accepter (« d'écouter ») ces évènements et d'exécuter du code en réaction afin de les traiter (« gérer »). Les gestionnaires d'évènements sont généralement connectés (« attachés ») aux éléments HTML (tels que <button>
, <div>
, <span>
, etc.) grâce à la méthode EventTarget.addEventListener()
qui remplace les anciens attributs de gestion d'évènement qui étaient auparavant utilisés en HTML. Avec cette méthode d'ajout plus récente, les gestionnaires peuvent également être déconnectés/détachés si besoin via la méthode EventTarget.removeEventListener()
.
Note : Il est tout à fait possible d'attacher plusieurs gestionnaires d'évènement à un seul élément, y compris pour la gestion d'un évènement particulier. Ainsi, des modules de code indépendant peuvent attacher leurs gestionnaires de façon indépendante (par exemple, sur une page web, un module de publicité et un autre module d'analyse pourront tout à fait attacher des gestionnaires pour étudier la consultation d'une vidéo).
Lorsqu'il y a de nombreux éléments imbriqués, chacun ayant ses propres gestionnaires d'évènement, le traitement des évènements peut se révéler compliqué, notamment lorsqu'un élément parent reçoit le même évènement que ses éléments enfants (par exemple pour des évènements qui se déclenchent sur la surface visuelle de l'élément enfant). Dans ce cas, l'ordre du traitement de ces évènements dépend des paramètres de bouillonnement (bubbling) et de capture définis sur chaque gestionnaire ainsi déclenché.
Voici une liste des interfaces basées sur Event
avec un lien vers leur documentation dans la référence MDN.
On notera que l'ensemble des interfaces d'évènements ont un nom qui termine par Event (« évènement » en anglais).
AnimationEvent
AudioProcessingEvent
BeforeInputEvent
BeforeUnloadEvent
BlobEvent
ClipboardEvent
CloseEvent
CompositionEvent
CSSFontFaceLoadEvent
CustomEvent
DeviceMotionEvent
DeviceOrientationEvent
DeviceProximityEvent
DOMTransactionEvent
DragEvent
EditingBeforeInputEvent
ErrorEvent
FetchEvent
FocusEvent
GamepadEvent
HashChangeEvent
IDBVersionChangeEvent
InputEvent
KeyboardEvent
MediaStreamEvent
MessageEvent
MouseEvent
MutationEvent
OfflineAudioCompletionEvent
OverconstrainedError
PageTransitionEvent
PaymentRequestUpdateEvent
PointerEvent
PopStateEvent
ProgressEvent
RelatedEvent
RTCDataChannelEvent
RTCPeerConnectionIceEvent
SensorEvent
StorageEvent
SVGEvent
SVGZoomEvent
TimeEvent
TouchEvent
TrackEvent
TransitionEvent
UIEvent
UserProximityEvent
WebGLContextEvent
WheelEvent
Event()
Event
et le renvoie à l'appelant.Event.bubbles
{{readonlyinline}}Event.cancelBubble
Event.stopPropagation()
. Définir sa valeur à true
avant le retour d'un gestionnaire d'évènement empêchera la propagation de l'évènement.Event.cancelable
{{readonlyinline}}Event.composed
{{ReadOnlyInline}}Event.currentTarget
{{readonlyinline}}Event.deepPath
{{non-standard_inline}}Array
) de nœuds (Node
) du DOM qui ont été parcourus lors du bouillonnement/de la remontée de l'évènement.Event.defaultPrevented
{{readonlyinline}}Event.preventDefault()
a annulé l'évènement.Event.eventPhase
{{readonlyinline}}Event.explicitOriginalTarget
{{non-standard_inline}} {{readonlyinline}}Event.originalTarget
{{non-standard_inline}} {{readonlyinline}}Event.returnValue
{{Deprecated_Inline}}Event.preventDefault()
et Event.defaultPrevented
.Event.srcElement
{{non-standard_inline}}Event.target
. Certains navigateurs le prennent en charge à des fins de compatibilité web.Event.target
{{readonlyinline}}Event.timeStamp
{{readonlyinline}}DOMHighResTimeStamp
.Event.type
{{readonlyinline}}Event.isTrusted
{{readonlyinline}}Event.initEvent
).Event.scoped
{{readonlyinline}} {{deprecated_inline}}Event.composed
doit être utilisé à la place.Event.composedPath()
ShadowRoot.mode
.Event.preventDefault()
Event.stopImmediatePropagation
Event.stopPropagation
Event.initEvent()
{{deprecated_inline}}{{Specifications}}
{{Compat}}
target
vs currentTarget
vs relatedTarget
vs originalTarget
)