Inkonsistentes Verhalten der duch onResize-Funktion hinzugefügten Event-Handler

  • Hallo, ich hab bei meinem CSS-DropDown Menü über einen if-Block festgelegt, daß wenn es sich um ein Touch-Device handelt oder eine bestimmte Fenstergröße (Breite 900px) unterschritten wird , dem Menü Click-Event-Handler zum togglen von CSS-Klassen hinzugefügt werden.


    Die aktuelle Fenstergröße wird dabei durch die Abfrage der CSS-Eigenschaft: 'Display: flex' ermittelt, welche von den Media Queries bei einer Breite < 900px gesetzt wird.


    Dies funktioniert gut bei onLoad.

    Sobald dies aber über die Resize-Funktion getriggert wird, funktionieren die Click-Events (bei einer Breite < 900 px) unzuverlässig.


    Dies kommt wohl dadurch, daß onResize das Dokument mit den togglenden Click-Event-Handlern befeuert wird, die in den ausgeführten Funktionen enthalten sind.



    Kann mir vielleicht jemand sagen, wie man diese aus der Resize-Funktion herausnehmen kann ohne die Funktionalität zu zerstören?


    https://codepen.io/nexusmaster/pen/MEzNdX



    jQuery

  • Erledigt. Hab es gelöst, indem ich die die if-Blöcke in die callback Funktion integriert habe, so daß die event-handler nur einmal geladen wurden und die Resize-Funktion sich nur nur auf die Ermittlung der Fenstergröße bezieht.