firefox автозаполнение, нажатие клавиши «ввод» при автозаполнении запускает ввод в текстовое поле

У меня есть форма с некоторыми общими полями, такими как «электронная почта». У меня есть javascript, который перехватывает клавишу возврата (13) и отправляет форму, но тот же эффект наблюдался при использовании свойства defaultButton на панели хоста.

Если пользователь находится в IE и набирает свой адрес электронной почты, затем выбирает элемент из встроенного автозаполнения браузера, нажимая ENTER, нажатие клавиш не отправляется в Javascript. ХОРОШО.

Однако в Firefox текстовое поле получает нажатие клавиши ENTER и хочет отправить форму, которая не является полной.

Кто-нибудь знает, как это остановить, кроме отключения автозаполнения? Я не могу найти способ определить, что нажатие клавиши на самом деле происходит из списка автозаполнения.

Я использую asp.net и jQuery.

Править - уточнить: Нажатие Enter на элементе автозаполнения НЕ должно отправлять форму. Поведение IE правильное (хоть раз!).

Сам по себе мой обработчик событий прост:

при нажатии клавиши (тоже пробовал нажимать) - if (e.which == 13) submitForm ();

Проблема в том, что я не знаю, как определить что нажатие ENTER на самом деле происходило из элемента управления автозаполнением

11
задан Kir 24 February 2012 в 14:15
поделиться