我正在寻找许多论坛和问题,但似乎没有人问如何双击ou双击Angular / ionic 2?
在离子v1中,可以使用on-double-tap
(参见http://ionicframework.com/docs/api/directive/onDoubleTap/)
有没有人可能有一个提示或任何代码来捕捉离子2 /角度2上的双击事件?
也许通过HammerJS?
非常感谢你 !路易斯:)
所以在1-2小时之后很明显,您不需要使用Ionic捕获双击事件,但使用纯JavaScript:dblclick()
所以在Angular 2中它将是:(dblclick)="myFunction()"
就是这样!
在这里,您将找到JavaScript的其他活动。
html文件
<button (tap)="tapEvent()">Tap Me!</button>
ts文件
let count : number = 0;
tapEvent(){
this.count++;
setTimeout(() => {
if (this.count == 1) {
this.count = 0;
alert('Single Tap');
}if(this.count > 1){
this.count = 0;
alert('Double Tap');
}
}, 250);
}
要捕获双击事件,可以使用以下内容:
(dblclick)="clickFunction()"
如果我们想在点击时触发一个功能,而在双击时触发另一个功能,我们可以使用以下内容:
<button (click)="simpleClickFunction()" (dblclick)="doubleClickFunction()">click me!</button>
但是,当simpleClickFunction
被解雇时,也会调用doubleClickFunction
函数。为了防止它发生,setTimeout
可以提供以下帮助:
html template
<button (click)="simpleClickFunction()" (dblclick)="doubleClickFunction()">click me!</button>
Component
simpleClickFunction(): void{
this.timer = 0;
this.preventSimpleClick = false;
let delay = 200;
this.timer = setTimeout(() => {
if(!this.preventSimpleClick){
//whatever you want with simple click go here
console.log("simple click");
}
}, delay);
}
doubleClickFunction(): void{
this.preventSimpleClick = true;
clearTimeout(this.timer);
//whatever you want with double click go here
console.log("double click");
}
Ionic 2具有基本手势,可以从HTML访问。应该适用于iOS和Android。你可以找到documentation here。
他们提供的源代码is here。