首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单击`<select>`会导致页面不必要地移动

单击`<select>`会导致页面不必要地移动
EN

Stack Overflow用户
提问于 2022-04-24 13:06:05
回答 1查看 53关注 0票数 0

步骤:

在Chrome中打开这个REPL (在火狐中没有问题)- https://svelte.dev/repl/b739483ffedc4e33bc4f6f2626c013ff?version=3.47.0

代码语言:javascript
复制
  <div style="display: flex; align-items: flex-start;">
      <!-- svelte-ignore a11y-autofocus -->
      <select style="position: sticky; top: 10px;">
          <option>he1</option>
          <option>he2</option>
          <option>he3</option>
          <option>he4</option>
      </select>
      
      <div style="height: 1000px;"></div>
  </div>

<select>

  • the
  • 向下滚动页面
  • ,单击

页面将自动滚动到顶部

应该是这样:页面根本不应该滚动。

EN

回答 1

Stack Overflow用户

发布于 2022-04-24 15:03:27

很奇怪,但很管用:很奇怪,但很管用:

https://svelte.dev/repl/3c59bf53bf2a4f7b841edc03c6e1839d?version=3.47.0

代码语言:javascript
复制
<div style="display: flex; align-items: flex-start;">
    <!-- svelte-ignore a11y-autofocus -->
    <select style="position: sticky; top: 10px;"
        on:mousedown={ e=> e.target.focus({ preventScroll: true }) }
    >
        <option>he1</option>
        <option>he2</option>
        <option>he3</option>
        <option>he4</option>
    </select>
    
    <div style="height: 1000px;"></div>
</div>

这个:on:mousedown={ e=> e.target.focus({ preventScroll: true }) }

如果你有更好的东西,请提供。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71988697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档