Как насчет старого доброго stopPropagation()
?
Я был слишком быстр с моим ответом
Вам нужно сделать preventDefault()
, потому что содержимое mat-checkbox
будет помещено в <label>
, и в браузере по умолчанию будет установлен флажок, если вы нажмете на прикрепленную метку.
<i style="color: #770E0E" (click)="printDebug($event)">privacy policy</i>
printDebug(event: MouseEvent) {
event.preventDefault();
// ...
}
Если вы используете волновой эффект из материала это все равно будет срабатывать. Если вы не хотите этого, вам нужно будет выполнить .stopPropagation()
для mousedown:
<i style="color: #770E0E" (mousedown)="$event.stopPropagation()"
(click)="printDebug($event)">privacy policy</i>
stackblitz