Wie man einen Klick außerhalb eines Elements in JavaScript verfolgt?
Hallo zusammen! Ich bin ein Anfänger in JavaScript und schreibe ein Dropdown-Menü. Ich brauche, dass es sich schließt, wenn der Benutzer irgendwo außerhalb des Menüs klickt. Ich habe viele Varianten ausprobiert, aber nichts funktioniert richtig.
Hier ist mein aktueller Code:
```javascript
const menu = document.getElementById('myMenu');
document.addEventListener('click', function(event) {
if (event.target !== menu) {
menu.style.display = 'none';
}
});
```
Das Problem ist, dass das Menü sich sogar schließt, wenn ich auf seinen Inhalt klicke (z.B. auf Listenelemente oder Buttons darin). Ich verstehe, dass event.target das spezifische Element ist, auf das geklickt wurde, nicht der Menü-Container selbst. Wie kann ich richtig überprüfen, ob der Klick außerhalb des Elements war, einschließlich aller seiner Kindknoten? Ich brauche eine reine JavaScript-Lösung, ohne jQuery. Danke!
<<>>
Verwendung der Methode
Verwendung der Methode contains()
Ihre Intuition ist richtig: event.target !== menu prüft nur das Menü-Element selbst, aber nicht seine
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen
Blogs