2010-12-28 2 views
6

В настоящее время тестирование мобильного сайта на iOS (скоро появится на других устройствах, поэтому не уверены, относится ли это к другим ОС/браузеру).Почему запускается Safari Safari: активное состояние во время прокрутки?

Почему мобильное сафари запускает активное состояние ссылки во время прокрутки?

Моя тестовая страница построена из неупорядоченного списка с тегом ссылки внутри каждого элемента списка, который расширяется до 100% ширины. Проблема в том, что во время свитка, то: активное состояние тревоги, обнажая фон, который предназначен для показа во время: активного состояния только (я, очевидно, опуская ненужные стили и содержимое из примера):

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

Прокрутка пальца в то время как поверх указанного содержания? –

ответ

0

Вы должны использовать ontouchstart/ontouchend для добавления/удаления класса с Javascript. Затем используйте этот класс вместо: active.

+0

Включен ли ontouchstart сразу после нажатия, или есть задержка? –

+0

Нет никакой задержки. Дополнительную информацию см. В http://code.google.com/mobile/articles/fast_buttons.html –

+0

Это может сработать, если вам действительно нужно обходное решение. Тем не менее, это не совсем чистое решение, нужно использовать дополнительный javascript во всех браузерах, чтобы исправить ошибку в мобильном Safari. И вопрос остается без ответа: почему мобильный Safari триггер: активен во время прокрутки? –

Смежные вопросы