Рассмотрите следующий HTML:
<form action="">
<input />
<select>
<option>A</option>
<option>B</option>
</select>
<input type="submit" />
</form>
Если фокус идет input
(текстовое поле) и я совершили нападки, входят, форма отправляет.
Но, если фокус идет select
(выпадающее поле) и я совершил нападки, входят, ничего не происходит.
Я знаю, что мог выяснить некоторый JavaScript для переопределения этого, но я хочу знать, почему удар входит, просто не работает?
Есть ли что-то, что я повредил бы путем получения введения с JavaScript (возможно, некоторая собственная доступность клавиатуры выпадающего)?
Это просто природа элемента управления. Клавиша Enter (или щелчок мыши) - это то, что делает выбор. Отправка формы при нажатии Enter привела бы к плохому пользовательскому опыту, поскольку форма была бы, по сути, непригодна для использования.
Я бы не рекомендовал изменять поведение с помощью JavaScript, просто потому что поведение по умолчанию - это норма и то, чего все ожидают.
(Представьте, что было бы, если бы каждая форма отправлялась, когда вы делали выбор в выпадающем списке. Рассмотрим, например, поиск на Amazon.com. Человек выбирает категорию, затем вводит поисковый запрос. Если выбрать категорию, нажав Enter, то форма будет отправлена до того, как будет введен поисковый запрос.)
.