以编程方式使用JavaScript显示输入[type=url]的数据列表

以编程方式使用JavaScript显示输入[type=url]的数据列表,javascript,html,google-chrome,input,html-datalist,Javascript,Html,Google Chrome,Input,Html Datalist,在Chrome中,目前为止,数据列表仅在键入或双击输入时出现,例如 我正试图让数据列表尽快出现。理想情况下,我会在输入旁边放置一个小的“下拉箭头”,单击该箭头会显示数据列表 我正在寻找webkit解决方案。我在规范中找不到如何实现这一点的任何内容 我还注意到,当前浏览器中的实现似乎差异很大(单击与dbl单击、箭头键、完整与过滤列表以及过滤器如何匹配部分输入等) 对我来说,现在似乎还没有正常工作的组合框,数据列表似乎还处于初级阶段 因此,您现在最好使用自己的或现成的库。 在我看来,“”库相当受欢迎

在Chrome中,目前为止,数据列表仅在键入或双击
输入时出现,例如

我正试图让数据列表尽快出现。理想情况下,我会在输入旁边放置一个小的“下拉箭头”,单击该箭头会显示数据列表


我正在寻找webkit解决方案。

我在规范中找不到如何实现这一点的任何内容

我还注意到,当前浏览器中的实现似乎差异很大(单击与dbl单击、箭头键、完整与过滤列表以及过滤器如何匹配部分输入等)

对我来说,现在似乎还没有正常工作的组合框,数据列表似乎还处于初级阶段

因此,您现在最好使用自己的或现成的库。
在我看来,“”库相当受欢迎(很好的阅读链接)。
在那个页面上有一个链接,指向它的

旁注:我希望有人能给出更好的答案此外,起初我认为省去箭头按钮是一个好主意,这样人们就可以为下拉按钮提供更好的样式选择,如果他们想要一个可以连接到datalist/autocomplete/combobox的下拉按钮的话。我感到惊讶的是,所有这一切似乎仍然没有具体说明,也没有得到本地支持。请,规范编写者,给我们一个简单的本地组合框(已经过期很久了),然后添加类似香料的过滤器


编辑:自2012年8月以来,Chromium项目有一个开放功能请求,要求提供下拉功能:


    • 像这样的东西怎么样?因为Chrome确实在悬停上放置了一个图标,所以我将此图像放置在同一位置

      input[list]{
      background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAJCAYAAADtj3ZXAAAAB3RJTUUH3wMHFxkH6cbPfQAAAAlwSFlzAAALEgAACxIB0t1+/AAAAARnQU1BAACxjwv8YQUAAABaSURBVHjaY2RgYDAA4jkMxIEsID6FLrgOiP8TwNNwmSgNxJ/xaDwPxGz4nJSDQ+MHIFYn5B9mqA3omsOJDA9w4P1B0jiTWI0wMIFYf2IDPEB8gxh/4jOAIAAAbfwl/FxzevIAAAAASUVORK5CYII=');
      background-repeat:no-repeat;
      background-position:right;
      background-origin: content-box;
      }
      

      您的意思是说您总是希望显示元素?只需中继(双击)事件(如:
      )也不起作用。datalist的对象模型在safari中是不同的,只是通知您。虽然在较旧的safari(5.0.6)中没有超级实现,但使用javascript进行访问的效果与预期一样,但chrome中的datalist工作版本在尝试访问某些对象项时有奇怪的行为。我从哪里知道的?因为我正在研究安全的方法从中获取数据,这在所有主流浏览器中都可以使用。重复:我添加了失败的尝试作为对你问题的评论。将我的答案更改为对其他人可能更有用的内容。现在,Chrome/Chrome有下拉菜单,而Firefox没有。此处的更多信息:问题不是放置图像,而是单击一次即可打开数据列表。一个更好的图像解决方案是隐藏chrome的图像,并在输入后面放置一个留有负边距的跨度,以捕捉点击事件。