JavaScript: Doppelte Funktionen & toter Code bereinigen #39

Closed
opened 2026-05-19 14:40:24 +02:00 by greggy · 0 comments
Owner

Problem

Aus der Schwachstellenanalyse ergeben sich zwei zusammenhängende JS-Probleme in js/haus-schleusingen.js:

1. Doppelte Funktionsdefinitionen

openLightbox() und closeLightbox() werden zweimal definiert – einmal mit jQuery, einmal vanilla. Die zweite Definition überschreibt die erste.

2. Toter Code im Keyboard-Handler

Außerhalb jedes Event-Listeners steht ein Block, der einen ReferenceError wirft:

if (e.key === "Enter" || e.key === " ") {
  e.preventDefault();
  $(this).trigger("click");
}

e und $(this) sind hier nicht definiert.

Lösung

  • Doppelte openLightbox()/closeLightbox() Definitionen zusammenführen (nur Vanilla-Version behalten)
  • Toten Code-Block entfernen
  • Sicherstellen, dass alle Event-Listener korrekt funktionieren

Akzeptanzkriterien

  • Keine doppelten Funktionsdefinitionen mehr
  • Keine ReferenceError in der Console
  • Lightbox funktioniert weiterhin (Klick + Keyboard)
  • Floor-Accordion funktioniert weiterhin
## Problem Aus der Schwachstellenanalyse ergeben sich zwei zusammenhängende JS-Probleme in `js/haus-schleusingen.js`: ### 1. Doppelte Funktionsdefinitionen `openLightbox()` und `closeLightbox()` werden **zweimal** definiert – einmal mit jQuery, einmal vanilla. Die zweite Definition überschreibt die erste. ### 2. Toter Code im Keyboard-Handler Außerhalb jedes Event-Listeners steht ein Block, der einen ReferenceError wirft: ```javascript if (e.key === "Enter" || e.key === " ") { e.preventDefault(); $(this).trigger("click"); } ``` `e` und `$(this)` sind hier nicht definiert. ## Lösung - Doppelte `openLightbox()`/`closeLightbox()` Definitionen zusammenführen (nur Vanilla-Version behalten) - Toten Code-Block entfernen - Sicherstellen, dass alle Event-Listener korrekt funktionieren ## Akzeptanzkriterien - [ ] Keine doppelten Funktionsdefinitionen mehr - [ ] Keine ReferenceError in der Console - [ ] Lightbox funktioniert weiterhin (Klick + Keyboard) - [ ] Floor-Accordion funktioniert weiterhin
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: greggy/landingpage-haus-schleusingen#39
No description provided.