--- title: 'Element: fullscreenchange イベント' slug: Web/API/Element/fullscreenchange_event tags: - API - Fullscreen API - Fullscreen events - events - fullscreen - fullscreenchange - イベント - 全画面 API - 全画面イベント translation_of: Web/API/Element/fullscreenchange_event ---
fullscreenchange
イベントは、ある要素 ({{domxref("Element")}}) が全画面モードに切り替わったり、終了したりした直後に発生します。
バブリング | あり |
---|---|
キャンセル | 不可 |
インターフェイス | {{domxref("Event")}} |
イベントハンドラープロパティ | {{domxref("Element.onfullscreenchange", "onfullscreenchange")}} |
このイベントは、全画面モードへ移行または終了する要素 (Element
) へ送られます。
この例では、 fullscreenchange
イベントのハンドラーは、 ID が fullscreen-div
である要素に追加されます。
ユーザーが "Toggle Fullscreen Mode" ボタンをクリックすると、 click
ハンドラーが div
の全画面モードを切り替えます。もし document.fullscreenElement
に値があれば、全画面モードを終了します。そうでなければ、 div は全画面モードに移行します。
fullscreenchange
イベントが処理されたとき、要素の状態はすでに変化していることを思い出してください。よって、全画面モードへ変化した場合は、 document.fullscreenElement
が全画面モードになった要素を指します。一方、 document.fullscreenElement
が null の場合は、全画面モードが取り消されています。
すなわち、この例のコードでは、要素が現在全画面モードである場合、 fullscreenchange
ハンドラーはコンソールへ全画面の要素の id
をログ出力します。 document.fullscreenElement
が null の場合は、このコードは全画面モードが終了した旨をログ出力します。
<h1>fullscreenchange event example</h1> <div id="fullscreen-div"> <button id="toggle-fullscreen">Toggle Fullscreen Mode</button> </div>
document.getElementById('fullscreen-div').addEventListener('fullscreenchange', (event) => { // document.fullscreenElement will point to the element that // is in fullscreen mode if there is one. If not, the value // of the property is null. if (document.fullscreenElement) { console.log(`Element: ${document.fullscreenElement.id} entered fullscreen mode.`); } else { console.log('Leaving full-screen mode.'); } }); document.getElementById('toggle-fullscreen').addEventListener('click', (event) => { if (document.fullscreenElement) { // exitFullscreen is only available on the Document object. document.exitFullscreen(); } else { document.getElementById('fullscreen-div').requestFullscreen(); } });
仕様書 | 状態 |
---|---|
Fullscreen API | Living Standard |
{{Compat("api.Element.fullscreenchange_event")}}