Domanda

Ogni volta che scrivo codice di gestione del mouse, l'/ onmouseup / modello onmousemove onmousedown sembrava sempre costringermi a produrre codice inutilmente complesso, che sarebbe ancora finire per causare tutti i tipi di bug dell'interfaccia utente.

Il problema principale che vedo anche in grandi pezzi di software in questi giorni è l'evento "fantasma mouse" in cui si trascina al di fuori della finestra e poi lascia andare. Una volta che si torna indietro nella finestra, l'applicazione pensa ancora di avere il mouse verso il basso, anche se il pulsante è in alto. Ciò è particolarmente fastidioso quando si sta cercando di mettere in evidenza qualcosa che va al bordo dello schermo.

C'è un modo giusto di scrivere codice mouse o è l'intero modello appena incrinato?

È stato utile?

Soluzione

Di solito una cattura gli eventi del mouse sul mouse verso il basso in modo che il movimento del mouse e il mouse fino passare attraverso il codice a prescindere dal punto di inserimento trasferirsi al di fuori di voi finestra dell'applicazione.

Più di recente questo è un problema durante l'esecuzione di una sessione di macchina virtuale o remoto, la sua difficile per le applicazioni di questi per monitorare il mouse al di fuori della zona di schermo della macchina rappresentata da una finestra su un host.

Altri suggerimenti

Non sono sicuro di quale ambiente si sta cercando di rintracciare i pulsanti del mouse in, ma il modo migliore per gestire questa situazione è quello di avere un ascoltatore del mouse che tiene traccia onmouseup il 100% del tempo dopo aver rilevata onmousedown.

In questo modo, non importa quale schermo regione l'utente rilascia il pulsante del mouse in. Sarà ripristinare non importa dove capita.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top