Morgen,
Ist der Click in oder ausserhalb <nav> erfolgt?
Um das zu testen, muss ich notwendigerweise einen Handler auf body registrieren.
document.body.addEventListener("click", function(ev){ // ich habe ev.target // was ist die schnellste Methode um zu testen, // ob zwischen ev.target und body ein <nav> liegt? });
Könnt ihr mir einen Tipp geben?
Du brauchst nicht im Eventlistener den gesamten <body>
durchsuchen, da dieser immer ausgeführt wird, ist das nicht performant. Du solltest den Eventhandler direkt auf ein bestimmtes Element oder eine Elementgruppe registrieren.
var element = document.getElementById('navID')
// oder
var element = document.getElementsByClassName('class')
//oder
var element = documentgetElementByTagName('nav')
if (element) {
element.addEventListener('click', function(event){
// do something
})
}
Gruß
Jo