目的の結果を選択すると、オートコンプリートの結果ボックスがもう一度ポップアップするため、このソリューションは私にとってはうまくいきませんでした。これは、.focusメソッドがclose:イベントの前に実行されたためです。
さらに、その回答のコードによると、ボックスが閉じられると、closing変数が後に実行されたtrueために残ったため、ボックスは元に戻りません。close:.focus
次のコードは、これら 2 つの問題を解決しました (イベントで変数closingが false に設定されていることに注意してください)。close:
var closing = false;
$(function() {$(".autocomplete").autocomplete({
source: 'remote.php',
minLength: 0,
open: function(){
closing=true; },
close: function(){
closing = false;
}
})
.focus(function(){
if ((!closing) && ($(this).val() !== "")){
$(this).autocomplete("search");
}
});
})