Orlok: click-within javascript test

Beitrag lesen

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