Angular2 + при событии щелчка, если обычный щелчок, но маршрут при среднем щелчке или новом окне - PullRequest
0 голосов
/ 21 апреля 2019

Я пытаюсь настроить ссылку так, чтобы, если пользователь нажимает обычно, область расширяется на странице, но если он щелкает по ней средней кнопкой (или любым типом кнопки открытия в новом окне), то пользователь переходит кссылка.

Вот пример чего-то, что не работает.Простая установка тега href также не сработает, и href, и приведенный ниже пример переходят на страницу независимо от того, как нажата ссылка.

Используя приведенный ниже код, переменная также устанавливается, но пользователь быстро перемещается сразу после.

<a class="commentBubble" (click)="showComments = true;" [routerLink]="['/b', blogPost.Id, blogPost.url]">0</a>

1 Ответ

1 голос
/ 22 апреля 2019

Вам нужно будет вызвать функцию, когда пользователь щелкнет, и передать в нее событие 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;
    }
}
...