单击建议列表中的滚动条时如何使输入不失焦点

时间:2010-02-25 10:05:56

标签: javascript autocomplete focus

我正在测试TagDragon jQuery插件,这正是我需要的,但是有一个烦人的“功能”,当我点击建议列表中的滚动条时,它隐藏了它的结果。另一方面,jQuery autocomplete插件不会失去对输入字段的关注,这就是为什么它不会隐藏其结果。但是该插件不提供我需要的功能,所以我不能只替换tagdragon。 我已经研究了jQuery自动完成代码,我无法理解他们如何将注意力集中在输入字段上,我只是找不到负责的代码!

所以当天的问题是:如何在结果建议列表中使用滚动条时将注意力集中在输入上?

P.S。此外,我还有一个关于jQuery自动完成插件是如何做到这一点的问题,因为在对代码进行了一个小时的研究后,它看起来就像魔术一样。

1 个答案:

答案 0 :(得分:2)

我刚问了一个类似的问题,没有人回答,所以我基本上调整了自己的代码,直到我找到了一个有效的解决方案。

在调查了其他一些拾取器之后,我意识到诀窍不是添加一个关闭模糊列表的事件,而是通过执行以下操作检查其他可能性来模拟模糊事件:

  1. 打开列表后,将click事件添加到文档中    检查活动输入中的点击是否未打开,而不是打开    活动列表。如果这是真的,并且点击实际上是非列表    文档的一部分,然后关闭它。
  2. 向建议列表中的每个列表项添加一个事件(当列表为时)    仅打开)选择值并关闭列表。
  3. 将一个keydown事件添加到输入本身,因此如果用户点击输入,    它会更改值并关闭列表。