我在同一元素上同时使用了单击和长按事件。 长按会触发工作正常的Mat菜单,单击时不起作用。如何停止会触发click事件的Mat菜单。
它只能由程序触发。
<div *ngFor="let table of tableDetails; let i = index"
style="padding-bottom: 10px;"
(click)="doCheckAction(table, false)" (touchstart)='openContextMenu(true,menuTrigger,table)' (touchend)='openContextMenu(false,menuTrigger,table)'
>
ts:
openContextMenu(isDown, menu, table) {
if (table.Status !== "Available") {
if (isDown) {
this.pressTimer = window.setTimeout(() => {
menu.openMenu();
}, 1000);
} else {
clearTimeout(this.pressTimer);
}
}
}
答案 0 :(得分:0)
在doCheckAction()之前放置preventDefault():
<div ...(click)="$event.preventDefault();doCheckAction(table, false)" ...>