Ho un div con un id di "pulsante". Sto cercando di cambiare lo sfondo per diventare blu quando passo il mouse (senza usare il selettore hover CSS).Javascript addEventListener - si usa per creare un effetto mouseover?
var item = document.getElementById("button");
item.addEventListener("mouseover", func, false);
function func()
{
var item = document.getElementById("button");
item.setAttribute("style", "background-color:blue;")
}
Questo, tuttavia, imposta solo il colore della voce di blu quando mi passa il mouse, ma non si resetta al bianco dopo mi muovo mouse. Come posso correggere questo? (btw, mouseenter e mouseleave non funzionano con questo apparentemente).
Ahh ... fantastico! Ho un'immagine all'interno del mio div e considera questo come "fuori", un modo per mascherarlo così che pensi ancora che sia all'interno della scatola? – antonpug
Sì, gli eventi mouseover e mouseout catturano tutti gli eventi anche dai bambini (e sono in bolla). Nelle tue funzioni, dovrai confrontare la proprietà relatedTarget (W3C) o ToTarget/fromTarget (IE) sul parametro dell'evento. Dai un'occhiata a questo link per maggiori informazioni: http://www.quirksmode.org/js/events_mouse.html#relatedtarget – AndrewR
È molto lavoro catturare solo il contenitore genitore e non gestire nulla dagli elementi figlio. A meno che tu non abbia una ragione specifica per non farlo, puoi semplificare il tuo codice usando la funzione 'hover()' di jQuery. – AndrewR