ho appena finito di implementare una sorta di menu dinamico e volevo assegnare ad ogni voce di un sottomenu un certo comportamento definito da un evento. Aggiungo gli eventi che voglio rilevare grazie a addEventListener, ma funziona "per metà".
codice:
var items= window.document.getElementsByClassName("Item"); // la classe di ogni voce del sottomenu
var index= 0;
for( var i= 0; i < items.length; ++i )
{
index= i;
items[i].addEventListener("mouseenter", function(){
items[index].style.background= "rgba(255, 255, 255, 0.3 )";
}, false );
items[i].addEventListener("mouseleave", function(){
items[index].style.background= "black";
}, false );
}
le voci sono solo due ma gli eventi funzionano solamente con la seconda voce, anzi anche il comportamento della seconda è strano:
- quando il mouse entra nella prima voce si attiva l'evento onmouseenter della seconda voce
- ma solo quando il mouse esce da entrambe le voci si attiva l'evento onmouseleave della seconda voce