Saya memiliki beberapa menu css di situs saya yang berkembang dengan :hover
(tanpa js)
Ini berfungsi dengan cara semi-rusak di iDevices, misalnya ketukan akan mengaktifkan :hover
aturan dan memperluas menu, tetapi kemudian mengetuk di tempat lain tidak menghapus file :hover
. Juga jika ada tautan di dalam elemen yang :hover
'ed, Anda harus mengetuk dua kali untuk mengaktifkan tautan (ketuk pemicu pertama :hover
, tautan pemicu ketuk kedua).
Saya dapat membuat semuanya bekerja dengan baik di iphone dengan mengikat touchstart
acara tersebut.
Masalahnya adalah terkadang safari seluler masih memilih untuk memicu :hover
aturan dari css daripadatouchstart
acara saya !
Saya tahu ini masalahnya karena ketika saya menonaktifkan semua :hover
aturan secara manual di css, safari seluler berfungsi dengan baik (tetapi browser biasa jelas tidak lagi).
Adakah cara untuk "membatalkan" :hover
aturan secara dinamis untuk elemen tertentu saat pengguna menggunakan safari seluler?
Lihat dan bandingkan perilaku iOS di sini: http://jsfiddle.net/74s35/3/ Catatan: hanya beberapa properti css yang memicu perilaku dua-klik, misalnya display: none; tapi bukan background: merah; atau dekorasi teks: garis bawah;