вместо stopPropagation используй preventDefault
Это и пробовал не взлетело. Есть даже трушная директивка: import { Directive, HostListener, Input } from '@angular/core'; @Directive({ selector: '[reventClickPropagation]', }) export class PreventClickPropagationDirective { @Input() public preventDefault = false; @HostListener('click', ['$event']) public onClick($event: MouseEvent): void { if (this.preventDefault) { $event.preventDefault(); } $event.stopPropagation(); } }
<a class="consent-link" (click)="clickConfirm($event)" (keydown.enter)="$event.preventDefault()">согласие</a> тоже дорога в никуда (
Прост точно такой же кейс был, stopPropagation не будет работать потому что не предотвращает дефолтные события, а клик по чекбоксу или лейблу является дефолтным поведением. так что без дерективы, без кейдоуна preventDefault внутри clickConfirm должен работать...
в чем проблема проверить таргет?
Можно чуть детальнее?
Можете пошарить ваш код?
ему нужно предотвратить всплытие, а не действие по умолчанию
Нужно предотвратить действие по умолчанию
Обсуждают сегодня