私は自分自身の "オートコンプリート"を作成しようとしていますが、文字を入力すると(例えば単語のためのw)、分割の遅延があります。ここでjqueryキーアップに遅延がありますか?
は私のtestcodeです:
CSS:
#txtSearchAutocomplete {
background-color: white !important;
position: absolute;
top: 0;
width: 100%;
font-size: 20px !important;
border: none !important;
color: gray;
}
#txtSearch {
background-color: transparent !important;
position: absolute;
top: 0;
width: 100%;
font-size: 20px !important;
border: none !important;
}
HTML:
<span style="position: relative; display: inline-block; width:100%; top: -18px;">
<input type="text" id="txtSearchAutocomplete" disabled >
<input type="text" id="txtSearch">
</span>
JS:
$(document).ready(function($) {
$("#txtSearch").focus();
$("#txtSearch").keyup(function(e) {
var autocomplete = ['word', 'excel'];
var $txtAutocomplete = $("#txtSearchAutocomplete");
var txt = $("#txtSearch").val().trim().toLowerCase();
$txtAutocomplete.val("");
if (txt == "") return;
for (i = 0; i < autocomplete.length; i++) {
var entry = autocomplete[i];
if (entry.indexOf(txt) == 0) {
$txtAutocomplete.val(entry);
break;
};
};
});
});
とフィドルサンプル: https://jsfiddle.net/25gwz1qu/1/
文字を入力して削除する場合はもう一度入力してください。少し遅れていることがわかります。遅れがIEでもう少し長いことを縫うかもしれません。
どのようにこの遅延を取り除くことができますか?
おかげ
上の( '入力'、機能(E){...}) ' – Rickkwa
スーパー' $( "#txtSearch")試してみてください - 。トリックをやっています。それを回答として追加すると、回答としてマークすることができます。ありがとう!! :) – MojoDK
ちょうど、この問題は再現できません。それは私のブラウザで速く働いています:) – choz