Angular 角度指令拦截器点击事件
我想直接点击事件取消Angular 角度指令拦截器点击事件,angular,angular8,Angular,Angular8,我想直接点击事件取消 @Directive({ selector: '[shortConfirm]' }) export class ShortConfirmDirective implements OnInit{ @HostListener("click", ["$event"]) public onClick(event: any): boolean { console.info('2222'); event.cancelBubble=true;// ie下
@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;
}
}
我试过了。取消气泡=真
事件取消失败您可以尝试在捕获阶段拦截事件并取消它 试试这个
@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();
});
}
}
这是fail,元素click事件首先执行,例如stopImmediatePropagation();这是最后一次处决