检测元素是否在Angular2中具有焦点

时间:2017-05-10 11:17:32

标签: angular ecmascript-6

我正在使用(焦点)=" showSearchList = true"显示文本输入的自动完成下拉列表。在输入上,并使用(blur)=" showSearchList = false"再次隐藏它。

我的问题是,如果单击下拉列表中的某个结果,我想触发另一个方法,但是通过单击下拉列表中的元素,我将触发输入的模糊方法,因此下拉结果不会被点击。使这项工作的最佳方法是什么?我使用的是ES6,而不是打字稿,我很难在谷歌上找到任何东西。

这是我到目前为止的模板:

{{1}}

我认为不是在模糊时将showSearchList设置为false,而是可以调用一个方法来检查哪个元素具有焦点,并根据它隐藏下拉列表,或运行我的addResultToResults方法然后隐藏下拉列表,但我有不知道如何检查哪个元素在angular2中有焦点。

会喜欢这方面的反馈!

1 个答案:

答案 0 :(得分:2)

我建议使用mouseleave事件来控制searchlist并从blur元素移动input事件。如果您想在searchlist点击项目后显示,则可以与click事件结合使用。

Plunker demo