Mouseout et noeud enfant
Résolu/Fermé
lamouchetsetse
Messages postés
112
Date d'inscription
samedi 2 août 2014
Statut
Membre
Dernière intervention
21 septembre 2021
-
Modifié le 7 sept. 2019 à 20:00
lamouchetsetse Messages postés 112 Date d'inscription samedi 2 août 2014 Statut Membre Dernière intervention 21 septembre 2021 - 9 sept. 2019 à 06:47
lamouchetsetse Messages postés 112 Date d'inscription samedi 2 août 2014 Statut Membre Dernière intervention 21 septembre 2021 - 9 sept. 2019 à 06:47
A voir également:
- Mouseout et noeud enfant
- Alexa pour enfant - Guide
- Échec de la tentative de connexion avec « eai_noname - aucun nom de nœud ou de nom de serveur fourni, ou inconnu ». - Forum DNS
- Police écriture enfant word ✓ - Forum Graphisme
- Voiture enfant expo - Forum Réseaux sociaux
- Voiture enfant expo avis - Forum Loisirs / Divertissements
1 réponse
Bonsoir,
je ne sais pas si c'est bien connu en tout cas ce n'est pas ergonomique ce que vous faites et ça complique les choses au niveau du code pour pas grand chose. Donc à éviter ;)
En testant votre code(incomplet d'ailleurs) on réalise rapidement que lorsque que l'on survole un autre élément cela compte comme une sortie de 'maDiv'.
Voici une petite astuce que j'ai trouvé ... mais comme j'ai déjà dit il y a certainement plus simple et plus ergonomique, de préférence éviter ce genre de truc qui serve à rien parce que complique et rend le code super lourd pour que dalle...à vous de voir:
je ne sais pas si c'est bien connu en tout cas ce n'est pas ergonomique ce que vous faites et ça complique les choses au niveau du code pour pas grand chose. Donc à éviter ;)
En testant votre code(incomplet d'ailleurs) on réalise rapidement que lorsque que l'on survole un autre élément cela compte comme une sortie de 'maDiv'.
Voici une petite astuce que j'ai trouvé ... mais comme j'ai déjà dit il y a certainement plus simple et plus ergonomique, de préférence éviter ce genre de truc qui serve à rien parce que complique et rend le code super lourd pour que dalle...à vous de voir:
function createLink(ref,txt){let a =document.createElement('a');a.href=ref;a.innerHTML=txt;return a;} document.getElementById('maDiv').addEventListener('click',function() { document.getElementById('maDiv').appendChild(createLink('bidul.php', 'bidul'));//-- j'ai fait ça pour voir si même comportement qu'avec un texte HTML document.getElementById('maDiv').appendChild(createLink('truc.php', 'truc')); // document.getElementById('maDiv').innerHTML='<a href="truc.php">truc</a><a href="bidul.php">bidul</a>'; //'<ul><li><a href="truc.php">truc</a></li><li><a href="bidul.php">bidul</a></li></ul>'; },false); document.getElementById('maDiv').addEventListener('mouseout',function() { document.addEventListener('mouseover',function(e){ if(this.parentNode != document.getElementById('maDiv')){ this.innerHTML = ''; //-- donc ici je teste si l'élément parent est maDiv pour effacer sinon j'efface pas //-- notez que j'ai supprimé ul et li sinon le teste est this.parentNode.parentNode.parentNode != document.getElementById('maDiv') //-- quand je disais c'est lourd pour ue dalle...enfin en mettant une classe aux 'li' on peut écrire plus court genre : // this.parentNode.className !='maClasse' }}); },false);
Modifié le 7 sept. 2019 à 23:28
9 sept. 2019 à 06:47