Нажатие клавиши ввода ведет себя как вкладка в Javascript - PullRequest
64 голосов
/ 18 июня 2009

Я ищу создание формы, в которой нажатие клавиши ввода заставляет фокус перейти к «следующему» элементу формы на странице. Решение, которое я продолжаю находить в Интернете, это ...

 <body onkeydown="if(event.keyCode==13){event.keyCode=9; return event.keyCode}">

К сожалению, это работает только в IE. Так что настоящий вопрос в этом вопросе, если кто-нибудь знает решение, которое работает для FF и Chrome? Кроме того, я бы предпочел не добавлять события onkeydown к самим элементам формы, но если это единственный способ, он должен это сделать.

Эта проблема похожа на вопрос 905222 , но, на мой взгляд, заслуживает отдельного вопроса.

Редактировать: также я видел, как люди поднимают вопрос о том, что это не очень хороший стиль, поскольку он отличается от поведения форм, к которому привыкли пользователи. Согласен! Это запрос клиента: (

Ответы [ 21 ]

0 голосов
/ 18 июня 2009

Вы можете программно перебирать элементы формы, добавляя обработчик onkeydown по ходу работы. Таким образом, вы можете повторно использовать код.

...