Hey
Könnt ihr mir einen Tipp geben?
Du kannst mit der Methode Element.closest(selectors)
prüfen, ob eines der Vorfahrenelemente (inklusive dem Kontextelement selbst) ein nav
ist.
document.body.addEventListener('click', event => event.target.closest('nav') && console.info('click in nav'))
Wenn closest
kein Element findet, dann wird null
zurückgegeben. Die Methode wird allerdings von einigen (vermutlich) relevanten Browsern noch nicht unterstützt, da müsste also gegebenenfalls noch für einige Zeit ein Polyfill eingebunden werden.
Alternativ kannst du natürlich eine oder mehrere Referenzen auf die nav
-Elemente der Seite speichern und dann mittels Node.contains(otherNode)
vergleichen.
const nav = document.querySelector('nav');
document.body.addEventListener('click', event => nav.contains(event.target) && console.info('click in nav'))
Viele Grüße,
Orlok