我正在尝试设置一个链接,以便如果用户正常单击页面上的区域,但如果他们使用中间按钮(或任何类型的在新窗口中打开按钮(单击它,则用户导航到链接。
下面是一个不起作用的示例。仅设置 href
标记也不起作用,无论单击链接的方式,href 和以下示例都导航到该页面。
使用以下代码,还可以设置变量,但用户随后会快速导航离开。
<a class="commentBubble" (click)="showComments = true;" [routerLink]="['/b', blogPost.Id, blogPost.url]">0</a>
您需要在
用户单击时调用函数并将 click 事件传递到其中:
<a (click)='onClick($event)'></a>
在此函数中,您可以区分这两种情况,如下所示:
public onClick(event: MouseEvent): void {
if (event.which === 2 ){
/** Middle mouse click */
this.router.navigate(['/b', this.blogPost.Id, this.blogPost.url])
} else {
/** Normal click */
this.showComments = true;
}
}