HTMLDetailsElement: toggle event
The toggle
event fires when the open
/closed
state of a <details>
element is toggled.
Bubbles | No |
---|---|
Cancelable | No |
Interface | Event |
Event handler property | None |
Default Action | Toggles the open state of the <details> element. |
Examples
This example logs chapters that are open. Chapters are removed from the log when they are closed.
HTML
<aside id="log"> <b>Open chapters:</b> <div data-id="ch1" hidden>I</div> <div data-id="ch2" hidden>II</div> <div data-id="ch3" hidden>III</div> </aside> <section id="summaries"> <b>Chapter summaries:</b> <details id="ch1"> <summary>Chapter I</summary> Philosophy reproves Boethius for the foolishness of his complaints against Fortune. Her very nature is caprice. </details> <details id="ch2"> <summary>Chapter II</summary> Philosophy in Fortune's name replies to Boethius' reproaches, and proves that the gifts of Fortune are hers to give and to take away. </details> <details id="ch3"> <summary>Chapter III</summary> Boethius falls back upon his present sense of misery. Philosophy reminds him of the brilliancy of his former fortunes. </details> </section>
CSS
body { display: flex; flex-direction: row-reverse; } #log { flex-shrink: 0; padding-left: 3em; } #summaries { flex-grow: 1; }
JavaScript
function logItem(e) { const item = document.querySelector(`[data-id=${e.target.id}]`); item.toggleAttribute('hidden'); } const chapters = document.querySelectorAll('details'); chapters.forEach((chapter) => { chapter.addEventListener('toggle', logItem); });
Result
Specifications
Specification |
---|
HTML Standard (HTML) # event-toggle |
Browser compatibility
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
toggle_event |
Yes |
79 |
Yes |
No |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/HTMLDetailsElement/toggle_event