(TouchMove) с двумя пальцами пожары событие только один раз
Событие touchmove обнаруживает каждый слайд вдоль экрана, но когда я использую два пальца и делаю жест жестом, оно срабатывает только один раз. Поэтому, когда я пытаюсь что-то увеличить, оно только увеличивает каждый жест, а не непрерывно. Это нормальное поведение? Это Angular 4, вот код:
<pdf-viewer (touchstart)="zoomStart($event)" (touchmove)="zoomMove($event)" (touchend)="zoomEnd($event)" [zoom]="zoom" [src]="pdfSrc" id="pdfObj" [render-text]="false" style="display: block;margin-top:5px" [fit-to-page]="true" [original-size]="false"></pdf-viewer>
Функции:
zoomStart(e) {
if (e.touches.length === 2) {
console.log(event);
event.preventDefault();
this.scaling = true;
this.pinchStart(e);
}
}
zoomEnd(e) {
console.log('END');
this.scaling = false;
}
zoomMove(e) {
console.log(event);
if (this.scaling && e.touches.length === 2) {
console.log('TWO');
event.preventDefault();
var dist = Math.hypot(
e.touches[0].screenX - e.touches[1].screenX,
e.touches[0].screenY - e.touches[1].screenY);
if (dist >= this.fingerDistance)
this.zoom += 0.5;
else {
if (this.zoom <= 1)
return;
this.zoom -= 0.5;
}
}
}
pinchStart(e) {
this.fingerDistance = Math.hypot(
e.touches[0].screenX - e.touches[1].screenX,
e.touches[0].screenY - e.touches[1].screenY);
}