键盘向上和向下箭头
我有一个自动完成搜索,通过输入几个字符,它将显示与输入的字符相匹配的所有名称。 我使用 DIV 标记在 jsp 中填充这些数据,通过使用鼠标,我可以选择名称。 但我想使用键盘向上和向下箭头选择要选择的 DIV 标记中的名称。 任何人都可以帮我解决这个问题吗?
I have one autocomplete search, in which by typing few characters it will show all the names, which matches the entered character. I am populating this data in the jsp using DIV tag, by using mouse I'm able to select the names. But I want to select the names in the DIV tag to be selected using the keyboard up and down arrow. Can anyone please help me out from this.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
使用
onkeydown
和onkeyup
事件检查结果 div 中的按键事件:Use the
onkeydown
andonkeyup
events to check for key press events in your results div:复制并粘贴这段代码并尝试..
copy and paste this piece of code and try..
我假设您有一个处理输入的输入。
为您读出 event.keyCode 的输入映射 onkeyup-eventhandler,并在它是向上/向下箭头 (38, 40) 的适当键码时执行操作,以保留对您所在节点(div 中的项目)的引用将焦点移至。
然后,当您按下 Enter 键(keyCode 13)时,将调用与 onclick 相同的处理程序。
很难给出一个编码示例,因为它高度依赖于上下文,但有关如何浏览 div 的一个技巧是使用 .nextSibling 和 .previousSibling,以及 .firstChild 和 .childNodes。
I assume that you have an input which handles the input.
map onkeyup-eventhandler for that input in which you read out event.keyCode, and do stuff when it's the appropriate keycodes for up/down-arrow (38, 40), to keep a reference to which node (item in your div) you move the focus to.
Then call the same handler when you hit enter (keyCode 13) as you do onclick.
It's hard to give a coding-example because it highly depend on context, but a tip on how to navigate through your div is to make us of .nextSibling and .previousSibling, aswell as .firstChild and .childNodes.
自从我这样做以来已经很长时间了,但我想你可以使用
event.keyCode
。如果返回的值为 38 和 40,则用户分别按下了向上和向下箭头。
然后,您必须选择当前位置上方或下方的行。 如何选择行取决于您的具体情况。
Long time since I did this, but I guess you can use
event.keyCode
.If the values returned are 38 and 40, then the user has pressed the up and down arrows respectively.
You then have to select the row above or below your current position. How to select the row would depend on your particular situation.