我正在开发自动完成文本框,我在一个 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/