У меня есть простое поле ввода
и при вводе я хочу отправить его (форма, в которой он находится).Я использую jQuery, но не какое-либо расширение автозаполнения, поэтому это просто браузер по умолчанию:
$('#searchfield')
.keypress(function(event) {
var keycode;
if (window.event)
keycode = window.event.keyCode;
else if (event)
keycode = event.which;
else
return true;
if (keycode == 13)
$('#searchForm').submit();
});
Проблема с этим решением: Когда кто-то (в FF3) начинает печатать (скажем, "stackov")"), затем идет стрелка вниз для предлагаемого выбора и нажимает клавишу ввода, форма отправляется, хотя и ищет" stackov ", а не выбранный" stackoverflow ".
В качестве альтернативы я пытался
$('#searchfield')
.change( function() {
$('#singleSearch').trigger('click');
})
Это дало мне правильный выбор «stackoverflow», но теперь любой выход из поля (как в blur (), после нажатия некоторых писем, например) невольно отправленоэто выключено.
Любой (идеально проверенный;) совет по этому поводу?