2010-12-28 7 views
6

Derzeit testet mobile Website auf iOS (wird bald zu anderen Geräten, so unsicher, ob dies zu anderen Betriebssystemen/Browser).Warum löst Mobile Safari aus: aktiver Zustand während des Scrollens?

Wie kommt es, dass mobile Safari den aktiven Status einer Verbindung während des Scrollens auslöst?

Meine Testseite besteht aus einer ungeordneten Liste mit einem Link-Tag innerhalb jedes Listenelements, das auf 100% Breite erweitert wird. Das Problem ist, dass während einer normalen Schriftrolle, die: aktive Zustand ausgelöst wird, den Hintergrund zu sehen, dass für die Ansicht während gedacht: nur aktiven Zustandes (ich bin offensichtlich nicht notwendig Stile und Inhalte aus dem Beispiel weggelassen):

html: 
<ul id="foo"><li><a href="#">Content</a></li></ul> 

css: 
#foo a {background:white; width:100%; height:100px;} 
#foo a:active {background:red;} 
+0

Scrollt Ihr Finger über dem Inhalt? –

Antwort

0

Sie sollten ontouchstart/ontouchend verwenden, um eine Klasse mit Javascript hinzuzufügen/zu entfernen. Verwenden Sie dann diese Klasse anstelle von: active.

+0

Wird ontouchstart sofort bei Berührung aktiviert, oder gibt es eine Verzögerung? –

+0

Es gibt keine Verzögerung. Weitere Hintergrundinformationen finden Sie unter http://code.google.com/mobile/articles/fast_buttons.html –

+0

Dies funktioniert möglicherweise, wenn Sie wirklich eine Problemumgehung benötigen. Allerdings ist es nicht gerade eine saubere Lösung, da in allen Browsern ein zusätzliches Javascript benötigt wird, um einen Bug in Mobile Safari zu beheben. Und die Frage bleibt unbeantwortet: Warum löst Mobile Safari aus: aktiv während blättern? –

Verwandte Themen