¿Cómo rastrear un clic fuera de un elemento en JavaScript?
¡Hola a todos! Soy nuevo en JavaScript y estoy escribiendo un menú desplegable. Necesito que se cierre cuando el usuario haga clic en cualquier lugar fuera del menú. He probado muchas opciones, pero nada funciona correctamente.
Aquí está mi código actual:
```javascript
const menu = document.getElementById('myMenu');
document.addEventListener('click', function(event) {
if (event.target !== menu) {
menu.style.display = 'none';
}
});
```
El problema es que el menú se cierra incluso cuando hago clic en su contenido (por ejemplo, en elementos de la lista o botones dentro). Entiendo que event.target es el elemento específico en el que se hizo clic, no el contenedor del menú en sí. ¿Cómo puedo verificar correctamente que el clic fue fuera del elemento, incluyendo todos sus nodos hijos? Necesito una solución en JavaScript puro, sin jQuery. ¡Gracias!
<<>>
Uso del método
Uso del método contains()
Tu intuición es correcta: event.target !== menu solo verifica el elemento del menú en sí, pero no sus