Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

HTMLDialogElement : propriété open

Baseline Large disponibilité

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis mars 2022.

La propriété open de l'interface HTMLDialogElement est une valeur booléenne reflétant l'attribut HTML open, indiquant si la boîte de dialogue <dialog> est disponible pour l'interaction.

Valeur

Une valeur booléenne représentant l'état de l'attribut HTML open. Une valeur true signifie que la boîte de dialogue est affichée, tandis que false signifie qu'elle ne l'est pas.

Attention : Bien que la propriété open ne soit techniquement pas en lecture seule et puisse être définie directement, il est fortement déconseillé de le faire selon la spécification HTML (angl.), car cela peut perturber les interactions normales avec la boîte de dialogue de manière inattendue. Par exemple, l'évènement close ne se déclenche pas lorsque la propriété open est définie programmatiquement sur false, et les appels ultérieurs aux méthodes close() et requestClose() n'ont aucun effet. Il est préférable d'utiliser des méthodes telles que show(), showModal(), close(), et requestClose() pour modifier la valeur de l'attribut open.

Exemples

Ouvrir une boîte de dialogue

L'exemple suivant montre un simple bouton qui, lorsqu'il est cliqué, ouvre une boîte de dialogue <dialog> contenant un formulaire avec la méthode showModal(). Vous pouvez ensuite cliquer sur le bouton Annuler pour fermer la boîte de dialogue (avec la méthode HTMLDialogElement.close()), ou envoyer le formulaire avec le bouton de validation.

Le code enregistre la valeur de open lorsque l'état de la boîte de dialogue change.

HTML

html
<!-- Boîte de dialogue simple -->
<dialog id="dialogue">
  <form method="dialog">
    <button type="submit">Fermer</button>
  </form>
</dialog>

<button id="ouvrir">Ouvrir la boîte de dialogue</button>

JavaScript

js
const dialogue = document.getElementById("dialogue");
const boutonOuvrir = document.getElementById("ouvrir");

function verifierOuverture(dialogue) {
  log(dialogue.open ? "Boîte : ouverte" : "Boîte : fermée");
}

boutonOuvrir.addEventListener("click", () => {
  dialogue.showModal();
  verifierOuverture(dialogue);
});

Résultat

Spécifications

Spécification
HTML
# dom-dialog-open

Compatibilité des navigateurs

Voir aussi