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

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

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



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

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



Можно ли как то это обойти, что экшн срабатывал только если touchend проходил на целевом объекте?
  • Вопрос задан
  • 6641 просмотр
Пригласить эксперта
Ответы на вопрос 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.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
22 нояб. 2024, в 03:54
1500 руб./за проект
22 нояб. 2024, в 02:56
10000 руб./за проект
22 нояб. 2024, в 00:55
500 руб./за проект