Dat*_*dze 4 javascript firefox onclick typescript angular
@HostListener OnClick在firefox中不起作用.我试过onClick,onclick和onGlobalClick.他们都使用chrome,但在firefox中没有人.这是我的代码:
constructor(private elRef: ElementRef, private renderer: Renderer2) { }
@Output() offClick = new EventEmitter();
@HostListener('document:click', ['$event.path'])
public onGlobalClick(targetElementPath: Array<any>) {
const elementRefInPath = targetElementPath.find(e => e === this.elRef.nativeElement);
if (!elementRefInPath) {
this.offClick.emit(1);
}
}
Run Code Online (Sandbox Code Playgroud)
这是我在所有浏览器中测试过的,它的工作原理如下:
@HostListener('document:click', ['$event', '$event.target'])
onClick(event: MouseEvent, targetElement: HTMLElement): void {
if (!targetElement) {
return;
}
const clickedInside = this.elementRef.nativeElement.contains(targetElement);
if (!clickedInside) {
this.clickOutside.emit(event);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2511 次 |
| 最近记录: |