2014-10-21 4 views
2

Я недавно подключался к проекту, и до сих пор я использую эмулятор для отладки отладчиков. Это означает, что я смог имитировать штрихи и перетаскивать поведение с помощью мыши. К сожалению, из-за того, что у меня одна мышь, я никогда не мог обойтись одновременно.Обнаружение touchstart при обнаружении touchmove

Проект, над которым я работаю, добавляет к странице два элемента DOM размером с половину страницы, один из которых имеет привязанный к нему прослушиватель событий touchmove, а другой справа имеет прослушиватель событий в случайном порядке, привязанный к Это. Они оба работают плавно.

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

Кто-нибудь сделал что-нибудь подобное раньше? Как обнаружение различных наборов штрихов на отдельных элементах DOM?

Фрагменты кода немного большим, чтобы включать здесь, но ссылка на GitHub репо здесь: https://github.com/matthewolsson/JoyShtick

ответ

1

DOM элементы совместно используют один прикасается массив. До этого этапа тестирования я был в предположении, что какой-либо отдельный элемент DOM, который имел прикосновение слушателя к нему, имел свой собственный массив соответствующих касаний. Теперь я знаю, что каждый элемент на странице, независимо от его слушателей, вносит вклад в один массив особых касаний, который хранит любые и все текущие штрихи на странице.

Зная это, я исправил ситуацию, используя контактный список targetTouches. Ссылка дает хорошее резюме, но основы заключаются в том, что это единственный массив штрихов, который заполняется ТОЛЬКО касаниями, которые происходят внутри элемента DOM, с которого начался первый.

Вы можете найти фантастическое объяснение этого списка здесь ~ (stackoverflow.com/questions/7056026/variation-of-e-touches-e-targettouches-and-e-changedtouches). И последнее, но не менее важное: W3C имеет очень подробный page на сенсорном событии и всех его функциях.

+0

Говорит, что я должен ждать 10 часов 0_0 – matthewolsson