событие перехвата угловой директивы - PullRequest
0 голосов
/ 04 ноября 2019

Я хочу, чтобы отменить событие щелчка Директивы

@Directive({
  selector: '[shortConfirm]'
})
export class ShortConfirmDirective implements OnInit{
  @HostListener("click", ["$event"])
  public onClick(event: any): boolean {
    console.info('2222');
    event.cancelBubble=true;// ie下
    event.stopPropagation();
    return true;
  }
}

Я попробовал событие. Cancelbubble = true;

сбой отмены события

1 Ответ

0 голосов
/ 04 ноября 2019

Вы можете попытаться перехватить событие во время фазы захвата и отменить его.

Попробуйте это.

@Directive({
  selector: '[shortConfirm]'
})
export class ShortConfirmDirective implements OnInit {

  constructor(
    private _elementRef: ElementRef,
  ) { }

  ngOnInit() {
    fromEvent(this._elementRef.nativeElement, 'click', {
      capture: true,
    }).subscribe((e: MouseEvent) => {

      e.stopImmediatePropagation();
    });
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...