使用helper: 'original'With sortable()和draggable()似乎不起作

Using helper: 'original' with sortable() and draggable() doesn't appear to work

本文关键字:draggable sortable helper original With 使用      更新时间:2023-09-26

我有一个简单的HTML页面,我希望能够将编号为6-10的div拖到可排序的列表中,该列表已经包含编号为1-5的div。当我将可拖动助手的值设置为"clone"时,这个页面运行得非常好。但是,我想使用"原始"助手。这似乎根本不起作用。

谁能提出一个替代方案?我试过使"dropTarget"成为一个可dropable()区域,但这似乎不起作用。我想他们是互相冲突了什么的。任何建议都是非常欢迎的!

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title></title>
  <script src="Scripts/jquery-1.5.1-vsdoc.js" type="text/javascript"></script>
  <script src="Scripts/jquery-1.5.1.js" type="text/javascript"></script>
  <script src="Scripts/jquery-ui-1.8.11.js" type="text/javascript"></script>
  <script type="text/javascript">
    $(function () {
      $("#dropTarget").sortable({ revert: true });
      $("#itemlist div").draggable({ connectToSortable: "#dropTarget", helper: 'original', revert: 'invalid' });
      $('#itemlist div, #dropTarget').disableSelection();
    });
  </script>
</head>
<body>
  <div id="dropTarget" style="width: 100px; min-height: 50px; background-color: Red;">
    <div>Item 1</div>
    <div>Item 2</div>
    <div>Item 3</div>
    <div>Item 4</div>
    <div>Item 5</div>
  </div>
  <div id="itemlist">
    <div>Item 6</div>
    <div>Item 7</div>
    <div>Item 8</div>
    <div>Item 9</div>
    <div>Item 10</div>
  </div>
</body>
</html>

我在这里修改了您的小提琴:http://jsfiddle.net/3wCHu/5/

正如jquery文档所说,使用helper:"original"时不可能连接到可排序列表。我们可以有个变通办法。

首先你可以在你的#itemlist中添加帮助代码作为-
helper: function(ev, ui) { return "<div>" + $(this).text() + "</div>" }

其次,在你的#dropTarget代码中添加一个选项-
receive: function(ev, ui){ ui.item.remove() }
这里的ui。Item是指被拖动的项