Ошибка сенсорного перемещения в веб-браузере Android - PullRequest
1 голос
/ 07 июня 2019

Я занимаюсь разработкой приложения для Android WebView, и по какой-то причине событие «touchmove» отказывается срабатывать. Отлично работает на десктоп-браузере. Как я могу это исправить? Также не работает на эмуляторе Android.

document.body.addEventListener("touchstart", function (e) {
    console.log("touchstart", e);
    e.preventDefault();
    e.stopPropagation();
});
document.body.addEventListener("touchmove", function (e) {
    console.log("touchmove", e); // <--- refuses to fire
    e.preventDefault();
    e.stopPropagation();
});
document.body.addEventListener("touchend", function (e) {
    console.log("touchend", e);
    e.preventDefault();
    e.stopPropagation();
});

1 Ответ

3 голосов
/ 20 июня 2019

Вам может потребоваться сделать обходной путь, например:

var onTouchEnd = function(){
  console.log("touch end");
}
document.addEventListener("touchstart", onTouchEnd);
document.addEventListener("touchmove", onTouchEnd);
document.addEventListener("touchend", onTouchEnd);

или

попробуйте утешить это так

var onTouchEnd = function(){
  console.log("touch end");
  var touch = event.changeTouches[0];
  console.log("touch", touch);
}
document.addEventListener("touchstart", onTouchEnd);
document.addEventListener("touchmove", onTouchEnd);
document.addEventListener("touchend", onTouchEnd);
...