diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/home.js | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/home.js b/src/home.js index 670ae3e..b00a782 100644 --- a/src/home.js +++ b/src/home.js @@ -11,6 +11,8 @@ window.addEventListener('load', () => { checkall.appendChild(checkbox); }); +window.addEventListener('click', clickHandler); + /** * Manage input event on the checkall checkbox. * @param {InputEvent} e the input event @@ -26,3 +28,17 @@ function checkallHandler(e) { } } } + +/** + * Manage click event on the home page. + * @param {MouseEvent} e + */ +function clickHandler(e) { + let details = document.querySelectorAll('details'); + let currentDetail = e.target.closest('details'); + for (const detail of details) { + if (!detail.isSameNode(currentDetail)) { + detail.removeAttribute('open'); + } + } +} |