单击相应的文本框时如何显示或触发数据列表选项?我有一个选项为 10 的数据列表。在 chrome 中,会显示一个下拉图标,让用户知道它有一个下拉列表。但在 Firefox 中,图标不可用。因此,用户可能不知道它是一个下拉列表,只是一个文本框。所以我想在单击该文本框时显示数据列表选项。任何帮助表示赞赏。
问问题
2886 次
2 回答
0
那是不能修改的浏览器内置功能。Safaridatalist
也不支持低于 12.1 或更低版本的 IE10
为了完成这个功能,请使用这个 polyfill:webshim。这将为 Safari 和 IE 提供功能支持,并将其datalist
转换为常规ul
列表,然后您可以轻松附加事件以显示/隐藏列表,而不会丢失自动完成功能。
于 2014-08-14T23:59:25.537 回答
0
也许一个解决方案可能是这个(小提琴)
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
input::-webkit-calendar-picker-indicator {
display: none;/*remove default arrow in Chrome*/
}
.required:after {
content: url(http://s25.postimg.org/6k40u5hcr/arrow.png);
margin-left: -20px;
padding: .1em;
pointer-events:none;/*make png cliccable*/
}
</style>
</head>
<body>
<span class="required"><input id="team" list="bestTeam"></span>
<datalist id="bestTeam">
<option value="Inter">
<option value="Milan">
<option value="Juve">
<option value="Roma">
</datalist>
</body>
</html>
首先,我
在元素后使用 input::-webkit-calendar-picker-indicator 删除了 chrome 中的默认箭头我在 content 属性中设置了一个小图像
以使图像可点击使用 pointer-events:none
此解决方案适用于最新Chrome、firefox 和 IE 版本
如果此解决方案不能满足您的需求,我很抱歉让您浪费时间。
于 2014-04-21T11:25:25.277 回答