I use details/summary elements to get an expandable section:
https://www.w3schools.com/TAGS/tag_details.asp
d3.select('details')
.on('click',()=>{
alert('clicked');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/5.7.0/d3.min.js"></script>
<details>
<summary>Header</summary>
<p>Content</p>
<p>Content</p>
</details>
I want to execute an action when the open state of the details element is toggled. How can I do so?
If I would use the onclick
event, the event is also fired if a user clicks on the summary or the content. I only want to handle "clicks on the toggle arrow".
d3.select('details')
.on('toggle',()=>{
alert('clicked');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/5.7.0/d3.min.js"></script>
<details>
<summary>Header</summary>
<p>Content</p>
<p>Content</p>
</details>