Avatar ·

Comment détecter un clic en dehors d'un élément en JavaScript ?

Bonjour à tous ! Je suis débutant en JavaScript et je code un menu déroulant. J'ai besoin qu'il se ferme lorsque l'utilisateur clique n'importe où en dehors du menu lui-même. J'ai essayé plusieurs options, mais rien ne fonctionne correctement. Voici mon code actuel : ```javascript const menu = document.getElementById('myMenu'); document.addEventListener('click', function(event) { if (event.target !== menu) { menu.style.display = 'none'; } }); ``` Le problème est que le menu se ferme même lorsque je clique sur son contenu (par exemple, sur les éléments de la liste ou les boutons à l'intérieur). Je comprends que event.target est l'élément spécifique sur lequel on a cliqué, et non le conteneur du menu lui-même. Comment vérifier correctement que le clic était bien en dehors de l'élément, y compris tous ses nœuds enfants ? J'ai besoin d'une solution en JavaScript pur, sans jQuery. Merci ! <<>>

Utilisation de la méthode contains()

Votre intuition est correcte : event.target !== menu ne vérifie que l'élément menu lui-même, mais pas ses