Рассмотрим следующий HTML:
<select>
<option>Aardvark</option>
<option>Buffalo</option>
<option>Camel</option>
<option>X-ray Fish</option>
<option>Yak</option>
<option>Zebra</option>
</select>
В большинстве браузеров, когда элемент выбора имеет фокус, нажатие клавиши изменит выбранное значение на следующий параметр, который начинается с введенного символа.Например, нажатие клавиши «B» на клавиатуре, когда элемент <select>
выше имеет фокус, меняет выбранное значение на «Buffalo».Нажатие «Z» после этого изменит значение на «Zebra».
Но я только что обнаружил, что, по крайней мере, в Firefox 6 и Safari 5 на моем ПК, есть задержка, прежде чем я могу нажимать навыберите следующее значение.В приведенном выше конкретном примере, если я нажму «B», а затем нажму «Z» менее чем через секунду, похоже, ничего не произойдет.
Однако в дальнейшем тестировании (с jQuery) я обнаружил, что события Javascript«keydown», «keyup» и «keypress» запускаются так, как вы ожидаете, независимо от того, насколько быстро вы нажимаете клавиши.Сами браузеры просто не переключают выбранную опцию, пока не пройдет определенный период времени.
Есть ли способ обойти это?