Spec-Zone.ru › Web APIs

Окно: событие resize

Базовая Широко поддерживается

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузера. Она доступна в браузерах с июля 2015 года.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Событие resize срабатывает, когда размер области просмотра документа (окна) был изменён.

Это событие не может быть отменено и не распространяется.

В некоторых более ранних браузерах было возможно зарегистрировать обработчики событий resize на любом элементе HTML. До сих пор можно задать onresize атрибуты или использовать addEventListener() для задания обработчика на любом элементе. Однако resize события срабатывают только на объекте window (то есть, возвращаемом document.defaultView). Только обработчики, зарегистрированные на объекте window , получат resize события.

Хотя resize событие сейчас срабатывает только для окна, вы можете получать уведомления о изменении размера других элементов с помощью API ResizeObserver.

Если событие resize срабатывает слишком часто для вашего приложения, см. Оптимизация window.onresize для управления временем, через которое срабатывает событие.

Синтаксис

Используйте имя события в методах, таких как addEventListener(), или задайте свойство обработчика события.

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

onresize = (event) => {};

Тип события

Общее Event.

Примеры

Логгер размеров окна

Следующий пример отображает размер окна каждый раз, когда он изменяется.

HTML

<p>Resize the browser window to fire the <code>resize</code> event.</p>
<p>Window height: <span id="height"></span></p>
<p>Window width: <span id="width"></span></p>

JavaScript

const heightOutput = document.querySelector("#height");
const widthOutput = document.querySelector("#width");

function reportWindowSize() {
  heightOutput.textContent = window.innerHeight;
  widthOutput.textContent = window.innerWidth;
}

window.onresize = reportWindowSize;

Результат

Примечание: Пример вывода находится в <iframe>, поэтому значения отчётной ширины и высоты относятся к <iframe>, а не к окну, в котором находится эта страница. В частности, будет сложно изменить размер окна, чтобы увидеть разницу в отчётной высоте.

Эффект легче увидеть, если просмотреть пример в отдельном окне.

Эквивалент addEventListener

Обработчик события можно задать с помощью метода addEventListener():

window.addEventListener("resize", reportWindowSize);

Спецификации

Спецификация
CSSOM View Module
# eventdef-window-resize

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
resize_event
1Chrome не генерирует событие resize при загрузке страницы.
12До Edge 79, Edge генерировал событие resize при загрузке страницы. Это больше не так.
1До Firefox 68, Firefox генерировал событие resize при загрузке страницы. Это больше не так.
7Opera не генерирует событие resize при загрузке страницы.
1.1
18Chrome Android не генерирует событие resize при загрузке страницы.
4До Firefox для Android 68, Firefox для Android генерировал событие resize при загрузке страницы. Это больше не так.
10.1Opera не генерирует событие resize при загрузке страницы.
1
1.0Samsung Internet не генерирует событие resize при загрузке страницы.
1WebView не генерирует событие resize при загрузке страницы.

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Window/resize_event

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API