Da un po 'di suonare in giro, sembra che Chrome 30.0.1599.69 m su Windows7 non genera un evento MouseEnter se il pulsante sinistro si tiene quando si sposta sopra un elemento. Come tale, affidarsi all'evento onmouseenter dà lo stesso risultato dell'uso di css - forse questo evento (non innescato) viene usato per segnalare al motore css che qualcosa deve cambiare.
In ogni caso, è sufficiente aggiungere codice per gestire gli eventi mousemove e mouseout. Ho semplicemente impostato il colore del testo con il js, anche se qualcosa che ha attivato una classe sarebbe probabilmente una scelta migliore. Almeno il js userà il tempo che il css avrebbe dovuto usare, quindi non sarà tutto sovraccarico, anche se fa schifo rifarlo tutto in qualsiasi momento il mouse si muove.
Forse potresti usare removeEventListener dall'interno del gestore che stai cercando di rimuovere. In tal caso, è possibile allegare js per gestire gli eventi con addEventListener, collegandosi a entrambi gli eventi al caricamento della pagina. Quando è stato attivato l'evento onmousemove, è possibile modificare lo stile e quindi rimuovere il gestore. Quindi, quando è stato attivato l'evento mouseout, è possibile ripristinare lo stile e ricollegare il gestore onmove. Non sarei sorpreso se provare a rimuovere un gestore da un evento, dall'interno del gestore stesso fallirebbe, ma si può solo provare.Aggiungeva solo pochi byte al js, ma migliorava enormemente l'efficienza (in termini di link, non dell'intera pagina) - da potenzialmente molto povero se il mouse veniva spostato sul link molto al 100% - cioè lo stile viene impostato esattamente una volta e cancellato esattamente una volta per ciclo di inserimento/partenza.
<a href="http://www.jsfiddle.net" onmousemove = "this.style.color='red'" onmouseout = "this.style.color=''">words</a>
Funziona per me - Nota: testato solo con chrome in win7.
Che differenza fa? L'unica ragione per cui qualcuno dovrebbe tenere premuto il tasto sinistro del mouse è evidenziare il testo o qualcosa sulla pagina. Ti stai preoccupando di qualcosa che non ha importanza. – Purag
Il tasto sinistro del mouse viene tenuto premuto durante l'azione di trascinamento. – Chris
Non è [una collisione con la selezione di testo di Chrome] (http://stackoverflow.com/questions/11106955/change-cursor-over-html5-canvas-when-dragging-in-chrome), vero? –