SORU
30 NİSAN 2010, Cuma


:Hover iPhone için pseudoclass/iPad kullanıcıları görmezden zorlamak için mümkün mü?

:hover (js olmadan) ile genişletin bu sitemde bazı css menüler var

Bu dokunun :hover kural aktif hale getirmek ve menü genişler bir örnek için iDevices üzerinde yarı kırık bir şekilde çalışır, ama sonra başka bir yerde vurma :hover silmez. Ayrıca eğer :hoverBu öğenin içinde bir link'ed, bağlantıyı etkinleştirmek için iki kez (ilk dokunun. :hover, ikinci musluk bağlantı tetikleyiciler tetikleyiciler) dokunun. eğer orada

touchstart olay bağlayarak şeyler güzel iphone üzerinde çalışma yapmak mümkün oldum.

Sorun bazen mobil safari hala css :hover kuralı tetiklemek için seçer . ben^>yerinetouchstart olaylar! benim

Bu :hover tüm kuralları el ile css devre dışı bıraktığınızda, mobil safari büyük (ama normal tarayıcılar belli ki artık yok) çalıştığı için sorun olduğunu biliyorum.

Orada dinamik "" :hover kullanıcı mobil safari açıkken? bazı unsurları için kuralları iptal etmek için bir yoldur

Bakın ve karşılaştırın burada davranış iOS: http://jsfiddle.net/74s35/3/ Sadece bazı css özelliklerini, örneğin display:none; iki tıklama davranışını tetikleyen ama arka plan değil: red; text-dekorasyon: altı çizili; . not:

CEVAP
19 Ocak 2011, ÇARŞAMBA


Buldum ":hover Safari iPad." iPhone/tahmin Bazen bir öğe bu öğe yapmak dokunun ":hover", bazen ise diğer elemanlarına sürüklenir.

Olmak, sadece bir "no-touch" gövde sınıf.

<body class="yui3-skin-sam no-touch">
   ...
</body>

Ve tüm CSS kuralları var ":hover" "altında.no-touch":

.no-touch my:hover{
   color: red;
}

Sayfa içinde bir yerlerde, kaldırmak için javascript varno-touchvücuttan sınıf.

if ('ontouchstart' in document) {
    Y.one('body').removeClass('no-touch');
}

Bu mükemmel görünmüyor, ama yine de işe yarıyor.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Christian Atlas

    Christian At

    26 Mart 2009
  • FamilyFeud

    FamilyFeud

    22 AĞUSTOS 2006
  • Jeremy Gallman

    Jeremy Gallm

    11 NİSAN 2012