Это для реагирующего компонента «подпись клиента».Событие touchmove не запускается в браузере Google Chrome для Android.Я нахожусь на Samsung Galax Tablet (2016).Планшет подключен к компьютеру через USB-порт для консоли.
В моем componentDidMount я получаю ссылку на холст, 2d-контекст и т. Д. И устанавливаю прослушиватель событий для элемента canvas:
componentDidMount(){
let canvas = this.refs.canvas;
let ctx = canvas.getContext("2d");
// ...
canvas.addEventListener('touchmove ', (e) => { console.log("touchMove: ", e); });
}
В моем рендере у меня есть canvas: render () {}
Событие никогда не запускается. Я установил e.preventDefault на touchstart;страница не прокручивается при прикосновении к области холста.Прикосновение к холсту и перемещение пальца ничего не делают.
У меня есть другие события, которые работают, поэтому я не думаю, что это что-то связанное со ссылкой на холст.
document.addEventListener('keydown', this.keyPress);
canvas.addEventListener('mousemove', this.mouseMove); // works
canvas.addEventListener('touchmove ', (e) => { console.log("touchMove E: ", e); }); // does not work
canvas.addEventListener("mousedown", this.mouseDown); // works
canvas.addEventListener("mouseup", this.mouseUp); // works
canvas.addEventListener("touchstart", this.touchStart); // works
canvas.addEventListener("touchend", this.touchEnd); // works
Сведения о системе
Chrome 66.0.3359.158
Android 5.1.1;SM-T280 Build/LMY47V
Дайте мне знать, если вам нужна другая информация.
У меня хорошо работает mouseMove, поэтому этот модуль подписи отлично работает на ПК.Сейчас я просто пытаюсь заставить это работать на мобильном / сенсорном экране.
PS Я читал, читал и читал о проблемах сенсорного перемещения на Android и подобных, но ни одна из этих проблемкажется, решить ту же проблему, что и у меня.
Спасибо за помощь