W3cubDocs

/Web APIs

ToggleEvent

Baseline 2023
Newly available

Since ⁨November 2023⁩, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

The ToggleEvent interface represents an event notifying the user an Element's state has changed.

This is the event object for the HTMLElement beforetoggle and toggle events, which fire on some elements just before and just after they transition between showing and hidden, respectively.

Event ToggleEvent

Constructor

ToggleEvent()

Creates an ToggleEvent object.

Instance properties

This interface inherits properties from its parent, Event.

ToggleEvent.newState Read only

A string (either "open" or "closed"), representing the state the element is transitioning to.

ToggleEvent.oldState Read only

A string (either "open" or "closed"), representing the state the element is transitioning from.

ToggleEvent.source Experimental Read only

An Element object instance representing the HTML control that initiated the toggle.

Examples

>

Basic example

const popover = document.getElementById("mypopover");

// …

popover.addEventListener("beforetoggle", (event) => {
  if (event.newState === "open") {
    console.log("Popover is being shown");
  } else {
    console.log("Popover is being hidden");
  }
});

Specifications

Specification
HTML>
# toggleevent>

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet WebView Android WebView on iOS
ToggleEvent 114 114 120 100 17 114 120 76 17 23.0 114 17
ToggleEvent 114 114 120 100 17 114 120 76 17 23.0 114 17
newState 114 114 120 100 17 114 120 76 17 23.0 114 17
oldState 114 114 120 100 17 114 120 76 17 23.0 114 17
source 140 140 No 124 No 140 No No No No 140 No

See also

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