入力中にオートコンプリート検索をトリガーする検索フィールドがあります。キーアップでトリガーします。これはほとんどのブラウザーで完全に機能しますが、Android 上の Firefox では機能しません。入力中に keyup イベントがトリガーされないようです。これは、Android キーボードの設定で単語の提案がオンになっている場合にのみ発生します。
Google 検索で、オートコンプリート検索が同じ設定で機能することを確認したので、明らかに可能です。どうやって?これが機能するために聞く必要があるのは特別なイベントですか?
さらに、イベントの変更、キーダウン、キープレスをリッスンしようとしましたが、何もトリガーされません。
HTML:
<input type="text" id="searchField"
autocomplete="off" spellcheck="false" autocorrect="off" />
jQuery イベント バインディング:
$('#searchField').keyup(function (e) {
var searchValue = $(this).val();
searchApi._executeAutocomplete(searchValue);
});
注:
場合によっては、キー イベントがトリガーされることがあります。これは通常、単語を形成するプロセスに至らないキーを押すことです。ここで最も明白なのはEnter、常にトリガーする です。もう 1 つは ですSpace。スペースは完全な単語の定義であるため、単語にスペースが含まれていないためにトリガーされます。Backspaceトリガーする場合削除された最後の文字が単語内にありませんでした。つまり、単語の最後に残っている文字を削除した場合 (つまり、フィールドの先頭、またはスペースに続くカーソル) はトリガーされますが、カーソルがまだある単語の末尾にあるいくつかの文字を削除した場合はトリガーされません。手紙の直後。基本的に、キーを押した結果、キーボード アプリから何らかの単語が提案された場合、キー イベントはトリガーされません。
補足として、同じデバイスの Chrome ではすべてが正常に機能すると言えます。