html - 如何在 Chrome 中滚动隐藏数据列表?

标签 html css

在 Chrome 中,如果 input[list] 和 datalist 放在一个可滚动的容器中,滚动后 datalist 将保持在同一位置,查看 the example :

  • 点击输入,出现数据列表,
  • Scroll the container ,
  • 好奇为什么尽管输入不再可见,但数据列表没有隐藏。

  • 就是这样。 Firefox 和其他浏览器可以毫无问题地处理这种情况 - datalist 在滚动时隐藏。

    所以,问题是:有没有办法在滚动时隐藏数据列表,即使它位于 Chrome 的嵌套容器中?

    更新:这个错误已经是 filed , twice .等待 Chrome 团队解决!

    最佳答案

    尝试添加一些 JavaScript:

    document.querySelector('.main').addEventListener('scroll', function() {
      let isChrome = !!window.chrome && (!!window.chrome.webstore || !!window.chrome.runtime);
      if (isChrome) {
        document.querySelector('input').blur();
      }
    }, false);
    
    JSFiddle version

    关于html - 如何在 Chrome 中滚动隐藏数据列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51880345/

    相关文章:

    jquery - box-shadow 仅显示在图像的左侧

    reactjs - 如何仅在 ReactJS 中的组件上使用 reactstrap?

    css - Main 元素、Content div 和 wrapper div 之间的区别?

    jquery - 显示/隐藏 div jquery 不能在固定位置工作

    css - 管理独立的 CSS 文件和 Bootstrap

    javascript - 如何翻译 style.fontSize = html5 文档的值?

    css - 如何在 Bootstrap 4 中隐藏和替换 navbar-toggler-icon?

    javascript - 在 HTML 中使用 Canvas 处理 Sprite 加载

    c - 用 C 抓取网页的最简单方法是什么?

    css - 使用 css 步骤的问题