Jquery 始终保持ui自动完成打开状态
我正在使用ui自动完成:Jquery 始终保持ui自动完成打开状态,jquery,jquery-ui,autocomplete,Jquery,Jquery Ui,Autocomplete,我正在使用ui自动完成: 我需要自动完成一直处于打开状态,所以当身体的某个地方被点击时,它不应该关闭。我在谷歌上搜索过这个,但什么也找不到 下面是一个如何做到这一点的工作示例: 每当触发关闭事件时,通过再次搜索相同的输入,保持自动完成框处于打开状态: $( "#input" ).autocomplete({ source: availableTags, close : function (event, ui) { val = $("#comment").val
我需要自动完成一直处于打开状态,所以当身体的某个地方被点击时,它不应该关闭。我在谷歌上搜索过这个,但什么也找不到 下面是一个如何做到这一点的工作示例: 每当触发关闭事件时,通过再次搜索相同的输入,保持自动完成框处于打开状态:
$( "#input" ).autocomplete({
source: availableTags,
close : function (event, ui) {
val = $("#comment").val();
$("#input").autocomplete( "search", val ); //keep autocomplete open by
//searching the same input again
$("#input").focus();
return false;
}
});
嘿,很抱歉反应太晚了 我觉得这比专注于输入和多次搜索要干净得多 试试这个 JAVASCRIPT:
$( "#input1" ).autocomplete({
source: availableTags,
close : function (event, ui) {
if (!$("ul.ui-autocomplete").is(":visible")) {
$("ul.ui-autocomplete").show();
}
}
});
演示:
希望这有帮助 还有一个仅限于CSS的选项:
<style>
.ui-autocomplete { display: inline-block !important; }
</style>
以下是另一种解决方案: 将以下配置添加到$input.autocomplete: 为了关闭菜单,您需要添加一个点击式处理程序。 我发现最简单的方法是:
$input.on('blur', function () {
$input.autocomplete('widget').hide();
});
删除$comment.focus;仍然保持自动完成打开,允许用户实际选择另一个元素。这比每次执行ajax调用要好得多,仅css选项非常好。当我试图在inspector中检查autocomplete小部件时,我使用它来防止它被关闭。
close: function (event, ui) {
$input.autocomplete('widget').show();
}
$input.on('blur', function () {
$input.autocomplete('widget').hide();
});