Я хотел бы добавить некоторые мультитач-функции в мое приложение javascript, когда он будет доступен с устройства ios (и, возможно, андроида позже).
Я хочу предоставить функциональность, подобную shiftkey: пользователь может удерживать кнопку на экране одним пальцем, и пока эта кнопка нажата, поведение для действия крана на остальной части экрана немного отличается от классический кран.
Проблема, с которой я сталкиваюсь, заключается в том, что я не получаю событие touchhend для касания пальца, если не будет нажата touchmove для первого пальца, удерживающего кнопку shiftkey.
Поскольку экран очень чувствительный, события touchmove легко запускаются, и в большинстве случаев все работает нормально.
Но когда пользовательский палец немного слишком неподвижен, постукивание не обнаружено, пока пользователь не слегка пошевельнет пальцем. Это вызывает переменную "задержку" между нажатием и действием, которое происходит на экране (задержка может варьироваться и длиться несколько секунд, если пользователь очень спокоен). Я предполагаю, что эта задержка заставит пользователя снова нажать и, таким образом, запустить действие во второй раз, чего я не хочу!
Вы можете протестировать его здесь с помощью ipad/iphone: http://jsfiddle.net/jdeXH/8/
Попытайтесь заставить тело оставаться зеленым в течение нескольких секунд, держа палец очень неподвижно на голубом div, постукивая по красному div.
Ожидается ли такое поведение? Существует ли какое-то известное решение проблемы? Я бы ожидал, что событие touchhend будет запущено сразу же после удаления пальца с экрана.
i тестировал это с помощью iOS 5.1.1 (ipad1 и iphone4s)
edit: нашел аналогичный вопрос Мультитач touchEvents не запускался, как следует на Safari Mobile