用小方块移动一个div

Move a div with a small square

我想要一个可拖动的div。我有一个解决方案,它有效,但我只想用一个小方块

拖动 div

.bat {
    position: absolute;
    width: 600px;
    height: 125px;
    background-color: #262626;
}

.batdrag {
    cursor: move;
    width: 45px;
    height: 30px;
    float: left;
    margin: 0px 10px;
    background-color: #0000FF;
    border-radius: 4px;
}
<div class=bat>
    <div class="batdrag"></div>
</div>

如果有此 Jquery 代码:

$(function() {
     $(".batdrag").draggable();
});

但它只会移动蓝色 div,我想用蓝色移动灰色 div。可能吗?

您可以使用内置的 handle 设置来实现此目的。 Select .bat 元素并在其上定义 draggable(),然后将 .batdrag 设置为移动外部元素的句柄:

$(".bat").draggable({
  handle: '.batdrag'
});
.bat {
  position: absolute;
  width: 600px;
  height: 125px;
  background-color: #262626;
}

.batdrag {
  cursor: move;
  width: 45px;
  height: 30px;
  float: left;
  margin: 0px 10px;
  background-color: #0000FF;
  border-radius: 4px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" />
<div class="bat">
  <div class="batdrag"></div>
</div>