Как определить, что touchstart и touchend прошел на том же елементе?

Задача вроде простая, но не могу решить. Задача про тачи.

У меня приложение для iPad, HTML контента работающий в uiwebview.



Есть картинка, по клику на которую выполняется некий экшн.

Сейчас, если нажать на картинку, не отпуская протянуть в сторону вытянув палец за пределы картинки и отпустить, то экшн все равно выполнится.



Можно ли как то это обойти, что экшн срабатывал только если touchend проходил на целевом объекте?
  • Вопрос задан
  • 6636 просмотров
Пригласить эксперта
Ответы на вопрос 2
Keyten
@Keyten
var tmp;

function onTouchStart(e){
 tmp = e.target;
}

function onTouchEnd(e){
 if( e.target == tmp ){
  // выполняем: touchstart и touchend на одном и том же элементе
 }
}
Ответ написан
winbackgo
@winbackgo
Приходит на ум сохранение в временную переменную event.target при touchstart и последующее сравнение с event.target при touchend. Но это теория, надо проверять на практике. Также стоит проверить stopPropagation.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы