Soluzione al volo (devi modificare solo questa riga nel tuo esempio!):
Spiegazionecodice:<div class=menuitem onmouseover="onMouseEnter.call(this);" onmouseout="onMouseLeave.call(this);">
succede perché gli eventi dichiarati inline (cioè come fai tu) sono considerati a loro volta delle funzioni.
se tu fai:
è come se facessi così:codice:<tuoElemento onmouseover="funzione();">
Di conseguenza, o usi alternative all'oggetto this, oppure assegni l'evento via codice. Così:codice:function mouseover () { // qui dentro viene passato l'oggetto this, che però non verrà passato anche a funzione() !!! funzione (); } tuoElemento.onmouseover = mouseover;
Spero ti sia chiaro.codice:tuoElemento.onmouseover = funzione; // in questo caso a "funzione()" verrà passato l'elemento this!!![]()

Rispondi quotando