Я реализовал свой собственный компонент кинетическая прокрутка , который обычно работает очень хорошо.Моя проблема заключается в том, что элементы ссылки на странице, которые используют псевдокласс : active , поддерживают свое состояние: active, даже когда пользователь проводит пальцем по экрану и, таким образом, прокручивает экран (что означает, что mouseup не будет генерировать "click ").
В настоящее время я уже могу избежать события" click ", но визуальная обратная связь (: active) не соответствует поведению.
Так что мне нужно прямо или косвенно очистить": active "через JavaScript.Возможно, создание фиктивной ссылки и ее «активация» через JavaScript решит проблему, но мне не повезло с этим.
Чтобы найти решение, мы создали простой тестовый пример, демонстрирующий это: http://jsfiddle.net/LkAXd/2/
Есть идеи?
Примечание. Мне просто нужно решение, которое работает с Webkit.
Обновление
Этот грязный хак очищает псевдокласс: active от элемента l1
(в основном, кратко удаляя его из документа):
var next = l1.nextSibling;
document.body.removeChild(l1);
document.body.insertBefore(l1, next);
Проблема в том, что document.activeElement
, по-видимому, не ссылаются на ссылки, которые только что получили mousedown (они не получают фокустаким образом), поэтому у меня нет возможности узнать, какой элемент в данный момент: активный.