У меня проблема, когда я хочу иметь поле ввода над полем выбора (несколько). Поле выбора содержит больше элементов, чем высота поля. (Я устанавливаю размер коробки меньше, чем количество предметов).
<select id="multiSelect" size="3" multiple>
<option value="item1">Item 1</option>
<option value="item2">Item 2</option>
<option value="item3">Item 3</option>
<option value="item4">Item 4</option>
<option value="item5">Item 5</option>
<option value="item6">Item 6</option>
</select>
Я хочу разрешить пользователю вводить значения в текстовый ввод выше, а затем использовать их «стрелку вниз», чтобы перейти к результатам, которые появятся в поле выбора.
inputField.addEventListener("keydown", function(e) {
if (e.keyCode == 40) {
multiSelect.focus();
multiSelect.selectedIndex = 0;
}
});
Когда пользователь делает это, первый элемент в поле множественного выбора прокручивается вне поля зрения. Эта проблема возникает как в Chrome, так и в Firefox (на Mac [Safari в порядке]).
Вы можете увидеть проблему здесь.