我正在尝试在Angular 5应用程序中实现功能,如果您按下并按住按钮,它将开始增加值1,2,3,4 ...直到您按下到该按钮。
如果您使用鼠标按下并按住,它会很好用,但是当我尝试使用触摸设备时,它有时会起作用,有时却不会。
我调试它,并得到的问题是,如果按住很长时间,它就无法检测到被按下。
这是我的实现方式
<button id="btn-legend-decrease" (press)="mouseOnPressedDe($event)" (pressup)="mouseOnStop($event)">
<mat-icon aria-label="Decrease scale" color="primary">remove</mat-icon>
</button>
<button id="btn-legend-increase" (press)="mouseOnPressedIn($event)" (pressup)="mouseOnStop($event)">
<mat-icon aria-label="Increase scale" color="primary">add</mat-icon>
</button>
知道如何在Angular中实现这种功能吗?
谢谢
["press"
和"pressup"
在大多数情况下在html中被指定为处理程序时实际上不起作用:
(press)="mouseOnPressedDe($event)"
我通过直接分配给touchEventManager
解决了这个问题。现在它就像时钟一样工作:
let touchEventManager = new Hammer(this.nativeElement, { inputClass: Hammer.TouchInput });
touchEventManager.on('press', this.onPress.bind(this));