簡単な入力フィールドがあります
そして、入力時に私はそれを提出したいと思います(それが入っているフォーム)。私は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」と言う)、提示された選択肢を下向き矢印で押してEnterキーを押すと、フォームは送信されますが、選択されたものではなく「stackov」が検索されます"スタックオーバーフロー"。
あるいは、私は試しました
$('#searchfield')
.change( function() {
$('#singleSearch').trigger('click');
})
これで「stackoverflow」を正しく選択できましたが、フィールドを離れると(たとえば、いくつかの文字をタップした後のblur()のように)、意図せずにそれが送信されました。
これに関する(理想的にはテストされた;)アドバイスはありますか?