仅在按Enter键后如何显示自动完成建议?

时间:2018-11-14 09:25:08

标签: jquery autocomplete

我只想在用户按下Enter键后显示自动完成建议。

阅读api docs之后,我怀疑我需要覆盖search eventchange,但是我不清楚该怎么做。具体来说,search事件是:

  

在满足minLength和delay之后,在执行搜索之前触发。如果取消,则不会启动任何请求,也没有项目   建议。

我想做的就是取消该事件,除非按Enter。如何在下面的init函数中执行此操作?

$(".selector").on("autocompletechange", function(event, ui) {});

还是有另一种更好的方法?

2 个答案:

答案 0 :(得分:1)

您需要更改jquery lib事件以捕获Enter键事件并执行功能。在此功能中,只有enter键会打开下拉列表,其余事件将被禁用。

$(".selector").autocomplete({
                keypress: function (event, ui) {
                    if (event.which == 13) {
                        console.log("Key Pressed");
                    }
                    else
                        return false;
                }
            });

答案 1 :(得分:0)

我的建议是每次都调用onchange事件,但是当您按下 Enter 键时,您可以专门获取详细信息。您可以检测到事件中按下的键。下面是一个示例-

function(event, ui) {
    if(event.keyCode == 13){
        //write code to populate the Autocomplete
    }
}