Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
HTMLElement : évènement toggle
Baseline
Widely available
*
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis janvier 2020.
* Certaines parties de cette fonctionnalité peuvent bénéficier de prise en charge variables.
L'évènement toggle de l'interface HTMLElement se déclenche sur un élément popover (c'est-à-dire un élément qui a un attribut popover valide) juste après qu'il a été affiché ou masqué.
- Si le popover passe de masqué à affiché, la propriété
event.oldStatesera définie surclosedet la propriétéevent.newStatesera définie suropen. - Si le popover passe d'affiché à masqué, alors
event.oldStateseraopenetevent.newStateseraclosed.
Note :
L'évènement toggle se comporte différemment lorsqu'il est déclenché sur les éléments <details>. Dans ce cas, il ne concerne pas les popovers, et se déclenche plutôt lorsque l'état open/closed d'un élément <details> est modifié. Consultez la page sur l'évènement toggle de HTMLDetailsElement pour plus de détails.
Syntaxe
Utilisez le nom de l'évènement dans des méthodes comme addEventListener(), ou définissez une propriété de gestionnaire d'évènement.
addEventListener("toggle", (event) => {});
ontoggle = (event) => {};
Type d'évènement
ToggleEvent. Hérite de Event.
Exemples
const popover = document.getElementById("mypopover");
//...
popover.addEventListener("toggle", (event) => {
if (event.newState === "open") {
console.log("Le popover a été affiché");
} else {
console.log("Le popover a été masqué");
}
});
Agrégation des évènements de basculement
Il convient de souligner que les évènements toggle sont agrégés, ce qui signifie que si plusieurs évènements toggle sont déclenchés avant que la boucle d'évènements ait eu la possibilité de s'exécuter, un seul évènement sera déclenché.
Par exemple :
popover.addEventListener("toggle", () => {
//...
});
popover.showPopover();
popover.hidePopover();
// `toggle` ne se déclenche qu'une seule fois
Spécifications
| Specification |
|---|
| HTML> # event-toggle> |
Compatibilité des navigateurs
Chargement...
Voir aussi
- L'API Popover
- L'évènement associé :
beforetoggle