停止移动元素上的点击传播



我在自动完成方面遇到了一个棘手的问题,归结起来就是:我的一个<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

最新更新