EventTarget : méthode dispatchEvent()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since juillet 2015.
Note : Cette fonctionnalité est disponible via les Web Workers.
Les événements déclenchés manuellement avec dispatchEvent()
suivent les mêmes règles de gestion que les événements natifs, y compris la phase de capture et, éventuellement, de propagation.
La méthode dispatchEvent()
de l'interface EventTarget
envoie un objet Event
à la cible, invoquant (de façon synchrone) les écouteurs d'événements concernés dans l'ordre approprié. Les règles normales de gestion des événements (y compris la phase de capture et, éventuellement, de propagation) s'appliquent aussi aux événements déclenchés manuellement avec dispatchEvent()
.
Appeler dispatchEvent()
est la dernière étape pour déclencher un événement. L'événement doit déjà avoir été créé et initialisé à l'aide d'un constructeur Event()
.
Note :
Lors de l'appel à cette méthode, la propriété Event.target
est initialisée à la valeur de l'EventTarget
courant.
Contrairement aux événements « natifs », qui sont déclenchés par le navigateur et invoquent les gestionnaires d'événements de façon asynchrone via la boucle d'événements, dispatchEvent()
invoque les gestionnaires d'événements de façon synchrone. Tous les gestionnaires concernés sont appelés et terminent leur exécution avant que dispatchEvent()
ne retourne.
Syntaxe
dispatchEvent(event)
Paramètres
event
-
L'objet
Event
à déclencher. Sa propriétéEvent.target
sera définie sur la valeur de l'EventTarget
courant.
Valeur de retour
Retourne false
si event
est annulable et qu'au moins un des gestionnaires d'événements ayant reçu event
ayant appelé Event.preventDefault()
. Sinon, retourne true
.
Exceptions
InvalidStateError
DomException
-
Levée si le type de l'événement n'a pas été spécifié lors de l'initialisation de l'événement.
Attention : Les exceptions levées par les gestionnaires d'événements sont signalées comme des exceptions non interceptées. Les gestionnaires d'événements s'exécutent sur une pile d'appels imbriquée : ils bloquent l'appelant jusqu'à leur achèvement, mais les exceptions ne sont pas propagées à l'appelant.
Exemple
Spécifications
Specification |
---|
DOM # ref-for-dom-eventtarget-dispatchevent③ |
Compatibilité des navigateurs
Loading…