フィールドへのフォーム入力をリッスンするjQueryリスナーをセットアップしていtype="text"
ます。ただし、ユーザーがオートコンプリートのドロップダウンボックスからオプションを選択した場合(つまり、以前に入力した値で、将来の使用のために記憶されている場合)、以下のリスナーはその値を収集しません。
これが私の現在のコードです:
$('#text-input').on("keyup change paste", function() {
var textInput = $(this).val();
// do something with textInput
});
上記は貼り付けと入力には機能しますが、ドロップダウン候補リストからオプションが選択されている場合は機能しません。
リスナーに何を追加する必要があるか教えてもらえますか?
乾杯。
私の解決策
リスナーを使用してautocomplete
みたところ、これは私のシナリオでは機能しないようだったので、代わりに、受け入れられた答えに触発された次のコードを追加しました。
var timer = 0;
$('#text-input').on("keyup change paste", function() {
if (timer != null) {
clearTimeout(timer);
timer = setTimeout(function() {
var textInput = $(this).val();
// do something with textInput
}, 1000);
}
});
これの追加のボーナスは、私のテキスト入力がURLを取得し、それを使用して追加のコンテンツをページにロードすることです。タイムアウトを設定すると、ユーザーがURLを入力している間、スクリプトが常にURLを読み込もうとしないことを意味します。