Ho alcuni menu CSS sul mio sito che si espandono con :hover(senza js)
Funziona in modo semi-rotto su iDevices, ad esempio un tocco attiverà la :hoverregola ed espanderà il menu, ma poi toccando altrove non rimuove il file :hover. Inoltre, se è presente un collegamento all'interno dell'elemento che è stato modificato :hover, è necessario toccare due volte per attivare il collegamento (il primo tocco attiva :hover, il secondo tocco attiva il collegamento).
Sono riuscito a far funzionare bene le cose su iPhone vincolando l' touchstartevento.
Il problema è che a volte mobile safari sceglie ancora di attivare la :hoverregola dal css invece che dai miei touchstarteventi!
So che questo è il problema perché quando disabilito :hovermanualmente tutte le regole nel css, il safari mobile funziona alla grande (ma i browser normali ovviamente non lo fanno più).
Esiste un modo per "annullare" dinamicamente le :hoverregole per determinati elementi quando l'utente è su mobile safari?
Vedere e confrontare il comportamento di iOS qui: http://jsfiddle.net/74s35/3/ Nota: solo alcune proprietà CSS attivano il comportamento a due clic, ad esempio display: none; ma non sfondo: rosso; o decorazione del testo: sottolineato;
