Javascript Touch Object - PullRequest
       16

Javascript Touch Object

0 голосов
/ 20 марта 2012

Я пытаюсь отличить щелчок от пролистывания в Javascript, используя сенсорные события.Я хотел бы знать, есть ли свойство в объекте события касания, которое можно проверить, чтобы определить разницу в событии «касания», или вам нужно прослушивать как касание, так и касание И событие касания?Я пытаюсь минимизировать количество слушателей событий, которые я должен добавить в DOM, и мне интересно, возможно ли это сделать, наблюдая за одним событием?В частности, я смотрю на webkit на iOS.

1 Ответ

2 голосов
/ 20 марта 2012

Не привязывайтесь к событию щелчка вообще.Он реагирует намного медленнее, чем коллекция сенсорных событий.

Чтобы проверить наличие пролистывания, вам нужно прослушать события сенсорного запуска и касания.Не беспокойтесь о сенсорном перемещении, если только вы не планируете что-то делать, когда это событие запускается.

В событии сенсорного запуска вам нужно будет записать положение события по оси x / y.На мероприятии touchend, сделайте то же самое снова.Также вам понадобится какое-то пороговое значение, чтобы при расчете разницы между x1-x2 и y1-y2 вы могли определить, было ли это пролистыванием.

Apple дает метаАлгоритм, который включает в себя TouchMove здесь http://developer.apple.com/library/ios/#DOCUMENTATION/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html. Поиск на этой странице "определить удар", и вы найдете его.

Мне лично никогда не нужно было использовать TouchMove и успешно использовал метод, который я описалвыше.Однако любой из этих подходов является правильным, поэтому вам следует выяснить, что лучше для вас работает.

...