Nel mio sito utilizzo un menu dinamico solo CSS. Questo va bene nei browser desktop, ma non su iOS (iphone, ipad, ecc.) Perché l'interfaccia touch non supporta il selettore :hover
.Navigazione dinamica CSS con passaggio del mouse - Come posso farlo funzionare su iOS Safari?
La mia domanda è: qual è il modo migliore per supportarlo su iOS? (Idealmente sia per l'applicazione di patch con un po 'di CSS o JavaScript che farà il lavoro codice esistente, piuttosto che fare il tutto sopra solo per sostenere iOS)
mio html assomiglia a questo
<ul id="nav">
<li>
Item 1
<ul>
<li><a href=''>sub nav 1.1</a></li>
<li><a href=''>sub nav 1.2</a></li>
</ul>
</li>
<li>
Item 2
<ul>
<li><a href=''>sub nav 2.1</a></li>
<li><a href=''>sub nav 2.2</a></li>
</ul>
</li>
<li>
Item 3
<ul>
<li><a href=''>sub nav 3.1</a></li>
<li><a href=''>sub nav 3.2</a></li>
</ul>
</li>
</ul>
E il CSS è questo
#nav li {
float:left;
padding:0 15px;
}
#nav li ul {
position: absolute;
width: 10em;
left: -999em;
margin-left: -10px;
}
#nav li:hover ul {
left: auto;
}
ho fatto un jsfiddle di questo qui: http://jsfiddle.net/NuTz4/
Grazie. Ho usato la tua soluzione jQuery e funziona molto bene. – DanSingerman
Ho usato la tua soluzione jQuery ma ho associato toggleClass() a touchstart in modo che ogni volta che l'utente tocca l'elemento hover-able che mostra. Tocca di nuovo per nascondere. '$ (" # nav li "). Bind (" touchstart ", function() { $ (this) .toggleClass (" hover "); });' – Colin
@Colin Credo che utilizzare "clic" invece di "touch ..." ottiene lo stesso risultato. La mia soluzione è per i touch-hover, ma la soluzione è ciò che la maggior parte delle persone realmente desidera quando è necessario interagire con l'elemento al passaggio del mouse. – BGerrissen