From e87d50e4702b967ffb74f10727a54c1901ac64bc Mon Sep 17 00:00:00 2001 From: Scarriffle Date: Sun, 4 Oct 2026 19:22:42 +0200 Subject: [PATCH] =?UTF-8?q?Wer=20die=20Genreliste=20durchbl=C3=A4ttern=20w?= =?UTF-8?q?ollte,=20schloss=20sie=20dabei?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Der Zuhörer hängt mit `capture` am Fenster, damit auch ein Bildlauf in einem inneren Behälter die Liste schliesst — sie steht `position: fixed` und bliebe sonst neben einem Knopf stehen, der längst weggescrollt ist. Nur scrollt eine Liste mit zwanzig Genres selbst, und dieses Ereignis kam dort ebenfalls an. Jetzt wird geprüft, woher es stammt. Co-Authored-By: Claude Opus 5 --- web/app/src/auswahl.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/web/app/src/auswahl.ts b/web/app/src/auswahl.ts index 4c4ee7d..98a2a11 100644 --- a/web/app/src/auswahl.ts +++ b/web/app/src/auswahl.ts @@ -198,7 +198,18 @@ export function auswahl(optionen: Option[], vorgabe = ''): Auswahlfeld { } }); document.addEventListener('keydown', e => { if (e.key === 'Escape' && offen) schliessen(); }); - window.addEventListener('scroll', () => schliessen(), { passive: true, capture: true }); + // **Scrollen in der Liste schliesst sie nicht.** + // + // Der Zuhörer hängt mit `capture` am Fenster, damit auch ein Bildlauf in + // einem inneren Behälter die Liste schliesst — sie steht `position: fixed` + // und bliebe sonst neben dem Knopf stehen, der längst weggescrollt ist. + // Nur: eine Liste mit zwanzig Genres scrollt selbst, und genau dieses + // Ereignis kam hier ebenfalls an. Wer die Liste durchblättern wollte, + // schloss sie dabei. + window.addEventListener('scroll', e => { + if (offen && e.target instanceof Node && offen.contains(e.target)) return; + schliessen(); + }, { passive: true, capture: true }); return { element: knopf,