Javascript 角度下降和焦点事件同时触发
我正在使用Angular 10并在我的Javascript 角度下降和焦点事件同时触发,javascript,angular,event-handling,dom-events,Javascript,Angular,Event Handling,Dom Events,我正在使用Angular 10并在我的AppComponent上注册了一个drop事件 同一组件还有一个focus事件,当将目录拖到Browser窗口上时,两个事件都会触发 有没有办法专门区分下降或聚焦事件 @HostListener("window:focus", ["$event"]) onFocus(event: any): void { console.log("window:focus"); } @HostListe
AppComponent
上注册了一个drop
事件
同一组件还有一个focus
事件,当将目录拖到Browser窗口上时,两个事件都会触发
有没有办法专门区分下降
或聚焦
事件
@HostListener("window:focus", ["$event"])
onFocus(event: any): void {
console.log("window:focus");
}
@HostListener("drop", ["$event"])
onDrop($event: any) {
console.log("drop");
}
输出:
focus <-- 1: shouldn't happen on drop
focus <-- 2: shouldn't happen on drop
drop
focus试试这个
focusDet: boolean = false;
我也这么想,但这是“官方”解决办法吗?
@HostListener("drop", ["$event"])
onDrop($event: any) {
this.focusDet = true;
console.log("drop");
}
@HostListener("window:focus", ["$event"])
onFocus(event: any): void {
if(!this.focusDet){
console.log("window:focus");
}
}