我有用于拖放的 li 列表。我的 li 格式为:
<div id="test" class="list">
<ul>
<li>Inbox
<ul></ul>
</li>
<li>Sent
<ul></ul>
</li>
<li>Archive
<ul></ul>
</li>
<li>Deleted
<ul>
<li>Sub Folder 1</li>
</ul>
</li>
</ul>
</div>
下面是可拖动初始化的代码:
$('#test li').draggable({
revert: "invalid", // when not dropped, the item will revert back to its initial position
containment: "document",
helper: "clone",
cursor: 'move'
});
$("#test li ").droppable({
hoverClass: "ui-state-active",
activeClass: "ui-state-highlight",
over: function(event, ui) {
var folderName = $(event.target).text();
$(ui.helper).text("Move to "+folderName);
}
});
假设我已经开始拖动“子文件夹 1”。当我移至“收件箱”等项目时,“已发送”工具提示显示为“移至收件箱”、“移至已发送”。但是当我再次超过子文件夹时。我不想显示“移至”文本。而不是我想只显示文件夹名称“子文件夹 1”。
问题:
- 当我开始拖动时,不显示可拖动的助手克隆。
- 当我在“子文件夹 1”上方时,目标文件夹文本将被视为“已删除以及子文件夹 1”,因此 event.target 仅在我位于“子文件夹 1”上方时将文件夹名称显示为“已删除” .
如何解决这个问题。小提琴:http: //jsfiddle.net/3QMzh/3/