角度-显示/隐藏焦点

时间:2020-09-15 22:56:48

标签: angular

我有一个input元素和a,如果要选择输入,我想显示,但是如果没有输入,或者单击其中一项,则将其隐藏。

<input type="text" (focusin)="showPropertiesList=true">
<ul *ngIf="showPropertiesList">
...
</ul>

我尝试在输入上添加focusout,但是当我尝试单击其元素之一时,它也隐藏了,我也尝试了document.activeElement,但是即使我单击,也总是返回body标记,如何这个可以解决吗?

不确定是否重要,但这是绝对位置元素。

1 个答案:

答案 0 :(得分:0)

请考虑使用DIV元素包装两个元素,然后将焦点指令应用于该对象,如下所示:

<div (focusin)="show = true" (focusout)="show = false">
  <input>
  <ul *ngIf="show"> </ul>
</div>

Working Demo