将一个div拖拽并插入到另一个div中。

8
我正在尝试设计一个功能,可以将一个div拖动并插入到另一个div中。
例如:
我想让#1可拖动(我知道可以使用jQuery完成,因此可拖动不是我的问题),将#1拖到#2上,当鼠标松开时,#2将被插入到#1中。
<div id="1"> <div id="2"> </div> </div>

请问有人能解释一下如何实现这个吗?

如果您的问题与 jQuery 无关,我开始觉得这是一份作业。 - MightyPork
这是您参考的演示 http://jsfiddle.net/3fsVd/ - Dhaval Bharadva
@MightyPork 我只是在说可拖动不是我的问题的一部分,而不是 jQuery。 - user2640254
@Dh... 非常有帮助,谢谢! - user2640254
@user2640254 是的,但如果您可以使用jQuery,我不认为您不能使用jQuery-UI可拖动。 - MightyPork
@MightyPork,我已经尝试了,但我的问题是我无法获取位于放置区域中的div的ID。 - user2640254
2个回答

6
你可以使用jQuery UI的可排序功能来简化这个过程。

工作示例

$(document).ready(function () {
    addElements();
    $(function () {
        $("#list1, #list2").sortable({
            connectWith: ".lists",
            cursor: "move"
        }).disableSelection();
    });


});

function addElements() {
    $("#list1").empty().append(
        "<li id='item1' class='list1Items'>Item 1</li>" +
        "<li id='item2' class='list1Items'>Item 2</li>" +
        "<li id='item3' class='list1Items'>Item 3</li>");
}

1

演示用:点击这里

代码:

<!doctype html>

<html lang="en">
<head>
  <meta charset="utf-8" />
  <title>jQuery UI Droppable - Default functionality</title>
  <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
  <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
  <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
  <link rel="stylesheet" href="/resources/demos/style.css" />
  <style>
  #draggable { width: 100px; height: 100px; padding: 0.5em; float: left; margin: 10px 10px 10px 0; }
  #droppable { width: 150px; height: 150px; padding: 0.5em; float: left; margin: 10px; }
  </style>
  <script>
  $(function() {
    $( "#draggable" ).draggable();
    $( "#droppable" ).droppable({
      drop: function( event, ui ) {
        $( this )
          .addClass( "ui-state-highlight" )
          .find( "p" )
            .html( "Dropped!" );
      }
    });
  });
  </script>
</head>
<body>

<div id="draggable" class="ui-widget-content">
  <p>Drag me to my target</p>
</div>

<div id="droppable" class="ui-widget-header">
  <p>Drop here</p>
</div>


</body>
</html>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接