detfaellesdesignsystem / dkfds-components

Styling og komponenter
Other
43 stars 13 forks source link

.js-menu-open (Responsive menu knap mister Click-eventlistener) #119

Closed cncnetcompany closed 3 years ago

cncnetcompany commented 3 years ago

Bekskriv fejlen (Describe the bug) Ved brug af smalle skærm kommer en "Menu" knap på højre side som kan bruges til at navigere. Knappen skal have CSS klassen "js-menu-open" for at JS funktionen bliver kaldet. Dette gøre at knappen får en eventlistener der bruges til at åbne den responsive menu. For at nedestående fungerer fint skal der være en div med CSS klassen "overlay" og en nav komponent med CSS klassen "nav". Disse får en ny klasse "is-visible", når menu knappen clickes.

Problemet er, at hvis man navigerer gennem forskellige sider, bliver eventlistener af menu knappen fjernet og derfor virker den ikke længere.

Genskab fejlen (To Reproduce) Sådan genskabes fejlen (Steps to reproduce the behavior):

  1. Use a screen with width 991px or less.
  2. Go to homepage and click to Menu button. It should work normally.
  3. Click to another page to navigate to it.
  4. Try to click the Menu button again. (See that it does not do anything)

Screenshots First page: image

After navigating to another page: image

Sådan burde det fungere (Expected behavior) The Menu button should not miss it's Click event listener.

Desktop - udfyld venligst følgende (please complete the following information):

Smartphone - udfyld venligst følgende (please complete the following information):

detfaellesdesignsystem commented 3 years ago

Hej @cncnetcompany ,

Tak for din henvendelse!

FDS JavaScript bør kaldes ved hvert pageload.

I tilfælde ved SPA løsninger bør man vurdere det enkeltvis, da sideskift kan foregå lidt anderledes, og elementer kan forblive intakte, mens andre områder på siden opdateres. Det kan i disse tilfælde være at nogle JS funktioner skal kaldes igen, da elementer ændres, slettes og tilføjes.

Se nærmere om js funktionen for navigationen i headeren (herunder mobilmenuen) under https://designsystem.dk/kode/komponenter/headers/

Kontakt os gerne igen, hvis du fortsat oplever udfordringer.

Med venlig hilsen Kristina Jensen Det Fælles Designsystem