Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery搜索框自动建议-如何使用箭头键从建议中选择,同时仍保持对输入字段的关注_Javascript_Php_Jquery_Html_Css - Fatal编程技术网

Javascript JQuery搜索框自动建议-如何使用箭头键从建议中选择,同时仍保持对输入字段的关注

Javascript JQuery搜索框自动建议-如何使用箭头键从建议中选择,同时仍保持对输入字段的关注,javascript,php,jquery,html,css,Javascript,Php,Jquery,Html,Css,我有一个搜索框,它有一个自动建议功能,所以它会将建议添加到搜索框下方绝对定位的div中的无序列表中。这些建议是使用JQuery/PHP通过ajax获得的 这一切都很好,但有一点需要注意。你必须用鼠标手动点击其中一个建议,才能点击链接 我想实现的是类似于google suggest的功能,即自动选择顶部选项,并可以使用箭头键向上或向下移动 我并不期待有人为我写这段代码,只是简单地用英语描述一下最好的方法。我无法理解文本输入如何保持焦点,以及列表项如何通过按enter键被选中和可访问 我的一个想法是

我有一个搜索框,它有一个自动建议功能,所以它会将建议添加到搜索框下方绝对定位的div中的无序列表中。这些建议是使用JQuery/PHP通过ajax获得的

这一切都很好,但有一点需要注意。你必须用鼠标手动点击其中一个建议,才能点击链接

我想实现的是类似于google suggest的功能,即自动选择顶部选项,并可以使用箭头键向上或向下移动

我并不期待有人为我写这段代码,只是简单地用英语描述一下最好的方法。我无法理解文本输入如何保持焦点,以及列表项如何通过按enter键被选中和可访问

我的一个想法是,将“选定”项目的背景颜色设置为与其他项目不同的样式,并将其目标url以某种方式存储在其他地方,然后使用JS监听enter键重定向到存储的url


如果您能想到最好的方法,我将不胜感激。提前谢谢。

我做过一次。我用以下逻辑编写了一个代码:

我创建了一个函数来设置列表项的“焦点”。此函数接收到密钥事件的参数。在里面,它验证了钥匙是向上还是向下。如果是,则检查列表是否有更多的iTen要向下(如果是向下键)或向上(如果是向上键),如果是,则更改它。这一变化是由另一个函数进行的。如果它没有要更改的项目,请保留它

如果键是enter,则只需激活操作(url链接、事件等)

change函数可以只接收一个索引,然后它清除所有项目的“选定”样式,并将该样式添加到选定的项目中。在搜索开始时,您只需将change函数设置为列表的index
0


恐怕这是主要的(几乎完成的)过程。这就是你想要的吗?

你忘了这个问题吗?我接受了你的答案。谢谢,谢谢。这真的很有用,这正是我想要的。