jQuery 2D拖放元素(不是绝对位置)

时间:2020-04-06 15:21:27

标签: jquery jquery-ui drag-and-drop jquery-ui-draggable

我要使用拖放功能将外部元素放入内部html中。 所以我假设是这样。这是内部html。

<div class="inner_html">
   <div class="title">
     <h1>This is title</h1>
   </div>
   <div class="body">
     <li>this is element</li>
     <a>element</a>
   </div>
</div>

这是外部html。 <div>This is external element</div>

我将拖动外部元素并放入内部html。 所以final元素可以得到很多结果。 我认为如果位置是绝对的,则可以使用jquery可拖动插件轻松完成。 但是我不想绝对的位置。只想放入内部html。

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

请考虑以下代码。

$(function() {
  $(".drag > div").draggable();
  $(".inner_html").droppable({
    drop: function(e, ui) {
      ui.draggable.css({
        top: "",
        left: "",
        position: "inherit"
      }).appendTo($(".inner_html"));
    }
  });
});
.inner_html {
  width: 340px;
  background: #ccc;
  padding: 1em;
  margin-bottom: 20px;
}

.inner_html>div {
  background: white;
  border: 1px solid #222;
  border-radius: 3px;
}

.drag {
  border: 1px solid #ccc;
  width: 340px;
}
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<div class="inner_html">
  <div class="title">
    <h1>This is title</h1>
  </div>
  <div class="body">
    <a>Link</a>
  </div>
</div>
<div class="drag items">
  <h3>Items</h3>
  <div>This is external element</div>
</div>

这是一个非常简单的示例。根据您的评论,您似乎有一个更复杂的场景。您应该提供a Minimal, Reproducible Example