Wer die Genreliste durchblättern wollte, schloss sie dabei

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 <noreply@anthropic.com>
This commit is contained in:
Scarriffle
2026-10-04 19:22:42 +02:00
co-authored by Claude Opus 5
parent aeaf6eb578
commit e87d50e470
+12 -1
View File
@@ -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,