Javascript Firefox中输入数据列表的延迟加载

Javascript Firefox中输入数据列表的延迟加载,javascript,html,jquery,forms,autosuggest,Javascript,Html,Jquery,Forms,Autosuggest,我想为用户名创建一个输入字段,可以从大量名称/用户名中进行选择。应该可以输入名称或用户名中包含的部分字符串。我不希望最初加载列表,而是在用户键入最少数量的字符(例如3个字符)后加载,因为列表最终非常大,应减少到初始3个字符的子集 如果在Chrome或Chrome中将与一起使用,则此功能非常有效,但在Firefox中却无法正常工作。我还没有测试过其他浏览器 预期的行为(以及它在Chromium中的工作方式)是我键入我的字符,在第三个字符之后,将加载并自动显示下拉列表autosuggest。如果我

我想为用户名创建一个输入字段,可以从大量名称/用户名中进行选择。应该可以输入名称或用户名中包含的部分字符串。我不希望最初加载列表,而是在用户键入最少数量的字符(例如3个字符)后加载,因为列表最终非常大,应减少到初始3个字符的子集

如果在Chrome或Chrome中将
一起使用,则此功能非常有效,但在Firefox中却无法正常工作。我还没有测试过其他浏览器

预期的行为(以及它在Chromium中的工作方式)是我键入我的字符,在第三个字符之后,将加载并自动显示下拉列表autosuggest。如果我继续键入,列表将继续被过滤。此外,我可以使用escape使列表消失,使用向下箭头或向上箭头使列表重新出现

在Firefox中,列表不会自动显示。我必须键入另一个字符,然后退格。此外,我无法使其显示为向下箭头或向上箭头。(不过,如果列表是最初创建的,而不是延迟加载的,那么该解决方案在Firefox中也可以使用,但这不是上述选项)

我想找到一种方法,使建议列表自动打开(或按键)或以不同方式解决此问题(无需
datalist

要求
  • 尽可能少地使用外部库。我目前使用jquery,如果它是一个jquery解决方案就可以了,但最好是纯JavaScript
  • 在所有浏览器中自动设置“建议列表”下拉列表(加载列表后)是理想的选择。但至少可以通过按键或按钮下拉列表
例子 初始填充的数据列表
  • 这也适用于Firefox
  • 当您键入列表中包含的一个字符(例如“1”、“o”、“12”等)时,列表应立即显示

一
12
123
1234
12345
123456

由于Firefox中存在一个bug,需要将autocomplete设置为off,datalist才能正常工作。也许这会有帮助?

是的,这会有帮助。正如这里所建议的那样,设置autocomplete的提示是:有点难看,但我希望这是一个暂时的解决办法。