javascript - 在自动完成javascript中使用向下箭头选择div的元素

标签 javascript autocomplete

我正在开发自动完成文本框,我在一个 div 中填充了建议,其中每个建议都是一个具有唯一 ID 的 div。现在我想使用向下箭头选择每个建议 并突出显示并加粗在自动建议文本框中键入的匹配字符串

例如在下面的代码中

function displaySuggestions(suggestions){
  for(var i=0 ;i<suggestions.length ; i++){
    var div_display  = document.createElement('div');
    div_display.innerHTML = suggestions[i];
    div_display.className = "autosuggest_display_div";
    div_display.id = "autosuggest_display_div_"+i;        
    div.appendChild(div_display);        
}

这里的 div 是包含每个 div 的建议的 autosuggest div。如果我使用按键,那么整个 div 将突出显示而不是每个 div。如以下代码所示

if(event.keyCode == '40'){
    for(var i=0;i<div.childNodes.length;i++){
      div.childNodes[i].style.background = "red";
}

只有在按下键盘的向下箭头时,才会突出显示唯一的 div

最佳答案

  • 查看 keypress 事件。
  • 向下键的键码是40
  • 为每个选中的对象添加一个 selected 类,并使用 CSS 为其赋予所需的高亮显示。

关于javascript - 在自动完成javascript中使用向下箭头选择div的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5255955/

相关文章:

javascript - 无法通过在我的环境中使用变量来获取 DOMelement,但在控制台中我可以

javascript - react 商务 : TypeError: require(. ..).__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED 未定义

.net - WinForms文本框自动完成事件

reactjs - 组件正在更改不受控制的自动完成以进行控制

javascript - jquery 选择下一个 tbody 所有行

javascript - <i/> 元素上的 event.target.x

javascript - 如何通过最接近的匹配文本获取元素?

eclipse - Maven pom.xml 自动完成功能在 Eclipse 中不起作用

javascript - 自动完成列表在 3 个字符后显示

jquery - 根据自动完成选择填写表单集的其他两个字段