3

問題のモバイル デバイスは、任意の Android フォンです。Firefox を開き (ところで、chrome はこれを引き起こしません)、Google 検索や IMDB などの Web サイトにアクセスして、検索ボックスに何かを入力します。最初の文字を入力するとすぐに、ネイティブのオートコンプリートがキーボードの上でアクティブになります。しかし、検索ボックスの下に提案ドロップダウンが表示されません! JavaScript 対応のドロップダウンが検索の下に表示されるのは、ネイティブの自動提案 (またはオートコンプリート) を削除した後でのみです。

ただし、Google 検索では、ブラウザの自動提案がすぐに機能し、ネイティブの自動提案とともに表示されます。

Google のオートコンプリートは、ネイティブのオートコンプリートを克服します

しかし、IMDB (または Amazon のような他のもの) では、ブラウザーの自動提案は、電話の自動提案によって遅延またはブロックされます (ユーザーが電話の提案を選択するか、それをクリアするまで表示されません)。 ネイティブのオートコンプリートによって IMDB のオートコンプリートが遅れる

Googleは「キーダウン」イベントを使用してユーザーの入力を検出していると思いますが、ローカルで簡単なオートコンプリートを自分で作成しようとした後、うまく機能しなかったため、方法がわかりません。「autocomplete = off」属性(フォームまたはターゲット入力フィールドのいずれか)も役に立ちません。

ネイティブ キーボードの自動提案の遅延を許可しない、またはブラウザーの自動提案をブロックするにはどうすればよいですか?

4

1 に答える 1

0

入力イベントを使用して変更を検出します。

jQuery/zepto を使用している場合は、これを行います。

$(selector).bind('input', function(){
   //autocomplete logic
});

ネイティブjsで

document.getElementById(selector).addEventListener('input', function(){
    //autocomplete logic
});
于 2014-06-05T12:43:50.263 に答える