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

Window : évènement resize

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 juillet 2015.

L'évènement resize de l'interface Window se déclenche lorsque la vue du document (fenêtre) a été redimensionnée.

Cet évènement n'est pas annulable et ne se propage pas.

Dans certains navigateurs plus anciens, il était possible d'enregistrer des gestionnaires d'évènements resize sur n'importe quel élément HTML. Il est toujours possible de définir des attributs onresize ou d'utiliser addEventListener() pour définir un gestionnaire sur n'importe quel élément. Cependant, les évènements resize ne sont déclenchés que sur l'objet Window (c'est-à-dire retourné par document.defaultView). Seuls les gestionnaires enregistrés sur l'objet window recevront les évènements resize.

Bien que l'évènement resize ne se déclenche que pour la fenêtre de nos jours, vous pouvez obtenir des notifications de redimensionnement pour d'autres éléments en utilisant l'API ResizeObserver.

Si l'évènement de redimensionnement est déclenché trop souvent pour votre application, consultez optimiser window.onresize (angl.) pour contrôler le temps après lequel l'évènement se déclenche.

Syntaxe

Utilisez le nom de l'évènement dans des méthodes comme addEventListener(), ou définissez une propriété de gestionnaire d'évènements.

js
addEventListener("resize", (event) => { })

onresize = (event) => { }

Type d'évènement

Un objet Event générique.

Exemples

Journaliser l'évolution de la taille de la fenêtre

L'exemple suivant affiche la taille de la fenêtre à chaque fois qu'elle est redimensionnée.

HTML

html
<p>
  Redimensionnez la fenêtre pour déclencher l'évènement
  <code>resize</code>.
</p>
<p>Hauteur de la fenêtre&nbsp;: <span id="height"></span></p>
<p>Largeur de la fenêtre&nbsp;: <span id="width"></span></p>

JavaScript

js
const sortieHauteur = document.querySelector("#height");
const sortieLargeur = document.querySelector("#width");

function journaliserTailleFenetre() {
  sortieHauteur.textContent = window.innerHeight;
  sortieLargeur.textContent = window.innerWidth;
}

window.onresize = journaliserTailleFenetre;

Résultat

Note : L'exemple ci-dessus est affiché dans un <iframe>, donc les valeurs de largeur et de hauteur rapportées concernent le <iframe>, et non la fenêtre dans laquelle cette page se trouve. En particulier, il sera difficile d'ajuster la taille de la fenêtre pour voir une différence dans la hauteur rapportée.

L'effet est plus facile à voir si vous affichez l'exemple dans sa propre fenêtre.

Équivalent addEventListener

Vous pouvez configurer le gestionnaire d'évènements en utilisant la méthode addEventListener() :

js
window.addEventListener("resize", journaliserTailleFenetre);

Spécifications

Spécification
CSSOM View Module
# eventdef-window-resize

Compatibilité des navigateurs