La pseudo-classe CSS hover non funziona bene sui dispositivi touch. Lo stato di hover tende a restare fermo fino a quando qualcos'altro viene toccato. Quindi, nelle nostre applicazioni web, usiamo Modernizr per rilevare i browser/dispositivi con funzionalità touch e disattiviamo stati hover in quei casi:Rileva la capacità al passaggio del mouse
.no-touch apri un: hover {...}
Questo diventa un problema su un dispositivo ibrido che supporta sia un touchscreen sia un dispositivo puntatore, come un mouse o un touchpad. Modernizr rileva che è abilitato per il tocco e nessuno degli stati di hover funziona quando si utilizza il mouse.
Ciò che sarebbe più utile è rilevare la presenza del mouse o di un altro dispositivo puntatore al posto del touchscreen. Ma non riesco a trovare qualcosa di simile.
Qualche suggerimento?
non hanno nemmeno bisogno di essere un dispositivo ibrido. Android supporta mouse e USB, quindi puoi attaccare banalmente un normale mouse al tuo telefono/tablet e otterrai un puntatore del mouse perfettamente funzionante. –
Questa non è la domanda. Sto chiedendo come rilevare se un browser/dispositivo ha un puntatore del mouse in modo da poter abilitare la pseudo-classe: hover .. – elmonty
Domanda molto buona e semplice e sembra (anche per me) non ci sono risposte davvero soddisfacenti ad esso . Comunque, anche per me usare Modernizr sembra non funzionare esattamente a causa dei dispositivi ibridi in cui l'utente ha la libera decisione di passare in qualsiasi momento dall'utilizzo dell'uno o dell'altro. – Garavani