--- title: 'Window: resize イベント' slug: Web/API/Window/resize_event tags: - API - Reference - Web - Window - events - resize browser-compat: api.Window.resize_event ---
resize
イベントは、この文書のビュー (ウィンドウ) の大きさが変更されたときに発行されます。
バブリング | なし |
---|---|
キャンセル | 不可 |
インターフェイス | {{domxref("UIEvent")}} |
イベントハンドラープロパティ | {{domxref("GlobalEventHandlers.onresize", "onresize")}} |
一部の初期のブラウザーでは、 resize
イベントのハンドラーをすべての HTML 要素に設定することができました。現在でも onresize
属性や {{domxref("EventTarget.addEventListener", "addEventListener()")}} を使用して、どの要素にもハンドラーを設定することができます。しかし、 resize
イベントは {{domxref("Window", "window")}} オブジェクト (すなわち {{domxref("document.defaultView")}} で返されるもの) でのみ発行されます。 window
オブジェクトに登録されたハンドラーのみが、 resize
イベントを受け取ります。
すべての要素が大きさの変更を通知できるようにする提案があります。 Resize Observer で草稿のドキュメントを、 GitHub issue で進行中の議論を読むことができます。
以下の例では、ウィンドウの大きさが変更されるたびに報告を出力します。この例は <iframe>
内で実行されているので、効果を見る前に実際に <iframe>
の大きさを変更する必要があることを覚えておいてください。
<p>ブラウザーウィンドウを変更すると <code>resize</code> イベントを発行します。</p> <p>ウィンドウの高さ: <span id="height"></span></p> <p>ウィンドウの幅: <span id="width"></span></p>
const heightOutput = document.querySelector('#height'); const widthOutput = document.querySelector('#width'); function reportWindowSize() { heightOutput.textContent = window.innerHeight; widthOutput.textContent = window.innerWidth; } window.onresize = reportWindowSize;
{{EmbedLiveSample("Window_size_logger")}}
イベントハンドラーを設定するために addEventListener()
メソッドを使用することもできます。
window.addEventListener('resize', reportWindowSize);
{{Compat}}