I am building an interactive web application with Angular2 and I am looking for a way to capture right clicks on an angular component. I also need to prevent the browser con
In Angular 2+, you can capture any event like:
Note that $event is optional, and the return of the function is the return of the event handler, so, you can return false; to avoid default browser action from the event.
In your case the event name is contextmenu. So, your code can be something like this:
@Component({
selector: 'my-app',
template: `
Right clicked
{{nRightClicks}}
time(s).
`,
// Just to make things obvious in browser
styles: [`
div {
background: green;
color: white;
white-space: pre;
height: 200px;
width: 200px;
}
`]
})
export class App {
nRightClicks = 0;
constructor() {
}
onRightClick() {
this.nRightClicks++;
return false;
}
}
Here's a full working example:
http://on.gurustop.net/2E0SD8e