Movatterモバイル変換


[0]ホーム

URL:


  1. 開発者向けのウェブ技術
  2. Web API
  3. HTMLElement
  4. HTMLElement: toggle イベント

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。

View in EnglishAlways switch to English

HTMLElement: toggle イベント

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2020年1月.

* Some parts of this feature may have varying levels of support.

toggleHTMLElement インターフェイスのイベントで、ポップオーバー要素(すなわち有効なpopover 属性がある要素)において、表示または非表示になった直後に発行されます。

  • そのポップオーバー要素が非表示状態から表示状態に遷移した場合、event.oldState プロパティはclosed に、event.newState プロパティはopen にそれぞれ設定されます。
  • そのポップオーバー要素が表示状態から非表示状態に遷移した場合、event.oldStateopen に、event.newStateclosed になります。

メモ:toggle イベントは<details> 要素で発行された場合、異なる形で動作します。この場合、ポップオーバーとは関連しておらず、<details> 要素のopen/closed 状態が切り替わったときに発行されます。詳しくはHTMLDetailsElementtoggle イベントのページを参照してください。

構文

このイベント名をaddEventListener() 等のメソッドで使用するか、イベントハンドラープロパティを設定するかしてください。

js
addEventListener("toggle", (event) => {});ontoggle = (event) => {};

イベント型

ToggleEvent です。Event から継承しています。

Event ToggleEvent

基本的な例

js
const popover = document.getElementById("mypopover");// ...popover.addEventListener("toggle", (event) => {  if (event.newState === "open") {    console.log("Popover has been shown");  } else {    console.log("Popover has been hidden");  }});

トグルイベントの合体に関するメモ

toggle イベントが合体していることを特筆に値するでしょう。イベントループが循環する前に複数のtoggle イベントが発行された場合、単一のイベントしか発行されないということです。

例えば次のようになります。

js
popover.addEventListener("toggle", () => {  //...});popover.showPopover();popover.hidePopover();// `toggle` は 1 回しか発行されない

仕様書

Specification
HTML
# event-toggle

ブラウザーの互換性

関連情報

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2026 Movatter.jp