我的问题是,当我执行“双击”时,会触发用于这两个事件的方法
例如,当触发特定事件时,我需要执行特定功能。
<a (click)="method1()" (dblclick)="method2()">
当我执行“双击”时,
method1()
和method2()
都被触发。 最佳答案
您可以使用超时和 bool(boolean) 标志来解决此问题。
考虑以下:
DOM需要几毫秒的时间才能识别出双击。
但是,请务必确保它可以识别双击,但也可以识别第一次单击。
因此逻辑是这样的。
isSingleClick: Boolean = true;
method1CallForClick(){
this.isSingleClick = true;
settimeout(()=>{
if(this.isSingleClick){
doTheStuffHere();
}
},250)
}
method2CallForDblClick(){
this.isSingleClick = false;
doTheStuffDblClickHere();
}
在元素的click事件中调用方法1,在元素的click事件中调用方法2。
关于angular - 如何使用typescript:Angular 2或4在同一个html DOM元素上处理 “single click”和 “double click”?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48295288/