在Angular中是否有捕获右键点击事件的方法?我看到了(click)和(dblclick),但是当我尝试使用(rightclick)时,它并没有触发任何事件。是否有一种方法可以包括右键点击事件,并让它们由一个类似于click和dblclick的函数处理(如果存在)?
在Angular中是否有捕获右键点击事件的方法?我看到了(click)和(dblclick),但是当我尝试使用(rightclick)时,它并没有触发任何事件。是否有一种方法可以包括右键点击事件,并让它们由一个类似于click和dblclick的函数处理(如果存在)?
事件名称是 contextmenu。因此,你的 HTML 模板代码可以像这样:
<div (contextmenu)="onRightClick($event)"></div>
$event 是一个可选参数,因此您的模板和事件处理程序可以像这样:
<div (contextmenu)="onRightClick()"></div>
onRightClick() {
return false;
}
注意:你可以返回false;来避免事件的默认浏览器动作。
事件名称为"contextmenu",因此您应该使用类似以下的代码:
<button (contextmenu)="onRightClick($event)"> Right click me </button>
那么onRightClick函数应该长这样:
onRightClick(event) {
event.preventDefault() //this will disable default action of the context menu
//there will be your code for the expected right click action
}
使用装饰器@HostListener,按照Angular的方式进行操作
@HostListener('contextmenu')
preventContextMenu() {
return false;
}