我在自动完成方面遇到了一个棘手的问题,归结起来就是:我的一个<input />
正在聚焦。现在,大多数用户都会通过点击来关注这个输入,我需要捕捉这个click
事件,并在它到达body
之前停止传播。
我做了一个stackblitz来重现这个问题:两个输入都有(click)="$event.stopPropagation()"
- 单击静态输入时,
click
将被捕获并且不会传播 - 当点击移动输入时,
click
将传播到body
,因为(focus)
是在(click)
之前触发的
https://stackblitz.com/edit/angular-ivy-qnyqvl?file=src/app/app.component.html
有什么方法可以捕捉到这个点击事件吗?如果可能的话,我想避免焦点上出现任何类型的setTimeout
延迟
感谢
我设法抓住了这个"点击";事件我将其记录在log.component.ts
文件的23
行。
https://stackblitz.com/edit/angular-ivy-gdm272?file=src%2Fapp%2Flog%2Flog.component.ts#23