を使用し、結果は決して閉じられないので少し迷惑です。ユーザーが選択した後に結果を開いたままにしておくことができるようにしました。ユーザーが選択して他の場所をクリックしていない場合、またはユーザーがエスケープしたり、入力テキストを削除したりすると、通常は結果を閉じるその他のことを行います。ここでは私のために働いていたものです:
close : function (event, ui) {
event.preventDefault();
if (event.which == 1) {
$("ul.ui-autocomplete").show();
$("ul.ui-autocomplete").data('keep-open', 1);
}
else if ($("ul.ui-autocomplete").data('keep-open') == 1) {
$("ul.ui-autocomplete").show();
$("ul.ui-autocomplete").data('keep-open', 0);
}
return false;
}
event.whichは、1ユーザーが選択を行っている際に、しかし、別のcloseイベントはすぐに従うだろうと、とにかく結果を閉じています。そこでkeep-openフラグを追加しました。おそらく、その合併症を処理するより良い方法があります。
また、ユーザーが選択を完了したときに結果を手動で閉じることができるように、単純な閉じるボタンも追加しました。