代码之家  ›  专栏  ›  技术社区  ›  LePioo

具有不需要的可拖动行为的元素

  •  0
  • LePioo  · 技术社区  · 6 年前

    在这个片段中,我制作了一个4x4网格

    不过,这个网格有一些奇怪的行为:当你在某个平铺上“鼠标下移”,然后移动鼠标时,网格就像一个可拖动的图像(但不是所有的平铺都“移动”并带有拖动半透明的反馈…)。

    我怎样才能防止这种行为?

    .line{
    white-space:nowrap;
    }
    .tile{
    width:25px;
    height:25px;
    border:1px solid black;
    display:inline-block;
    vertical-align: bottom;
    }
    *{
    margin:0;
    padding:0;
    }
    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="utf-8">
      </head>
      <body>
        <div class="line"><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div></div>
        <div class="line"><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div></div>
        <div class="line"><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div></div>
        <div class="line"><div class="tile"></div><div class="tile"></div><div class="tile"></div><div class="tile"></div></div>
      </body>
    </html>
    1 回复  |  直到 6 年前
        1
  •  0
  •   LePioo    6 年前

    找出使元素可拖动的似乎是选择(奇怪的是,即使没有选择(突出显示)任何内容也会发生这种情况)

    一个有效的解决方案是防止元素被选择成这样:

    .tile, .tile::after, .tile::before {
    -webkit-user-select: none;
    -webkit-user-drag: none;
    -webkit-app-region: no-drag;
    cursor: default;
    }