You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chrome/Edge中input关联datalist后点击出现双下拉列表的问题求助

Chrome/Edge中input关联datalist后点击出现双下拉列表的问题求助

我遇到了一个困扰:用下面的代码实现了带datalist的输入框,但是在Chrome和Edge浏览器里,点击输入框的时候会同时弹出两个下拉列表,效果如图所示。可同样的代码在Firefox和Safari里却正常显示,只会出现一个列表。有没有大佬能帮我看看哪里出问题了?

双下拉列表的显示效果

我的代码如下:

HTML 代码

<div class="combo-box">
  <input type="text" list="options" id="combo-input"/>
  <datalist id="options" style="display: none;" >
    <option value="Option 1">Option 1</option>
    <option value="Option 2">Option 2</option>
    <option value="Option 3">Option 3</option>
  </datalist>
</div>

CSS 代码

.combo-box {
  position: relative;
  display: inline-block;
}

/* always show arrow, not just on hover */
input::-webkit-calendar-picker-indicator {
  opacity: 100;
  display: inline-block;
}

#options {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  border: 1px solid #ccc;
  border-top: none;
  display: none;
  background-color: #fff;
  z-index: 1;
}

#options option:hover {
  background-color: #eee;
}

JavaScript 代码

const comboInput = document.getElementById('combo-input');
const datalist = document.getElementById('options');
comboInput.addEventListener('mousedown', function(e) {
  if (datalist.style['display'] == 'block') {
    datalist.style['display'] = 'none';
  } else {
    datalist.style['display'] = 'block';
  }
});

备注:内容来源于stack exchange,提问作者Blaine

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.13 18:39:37