我正在尝试构建一个网站,用户可以将一些项目(div上的一项)拖到页面上的其他div上。它不是一张桌子,只是在页面上的某个位置。用jquery更改div的位置,拖放一下
随着HTML5拖动&下降它运作良好,现在我尝试为移动设备做到这一点。我可以将项目拖到div上,将它们放在那里并阻止这个dropzone,因为只有一个元素应该放在dropzone中。我也可以将这个元素拖放到另一个div或者页面上的其他地方(如果我犯了一个错误,那么droppable区域只能在第一次放下div时工作),但是我不能在现在为空的div中放置另一个项目再次。
我该如何启用Dropzone再次放入此Dropzone?
是否有可能两个改变两个div的位置,如果一个被拖动另一个?
这里是我的代码的相关部分:
<script type="text/javascript">
$ (init);
function init() {
$(".dragzones").draggable({
start: handleDragStart,
cursor: 'move',
revert: "invalid",
});
$(".dropzones").droppable({
drop: handleDropEvent,
tolerance: "touch",
});
}
function handleDragStart (event, ui) {}
function handleDropEvent (event, ui) {
$(this).droppable('disable');
ui.draggable.position({of: $(this), my: 'left top', at: 'left top'});
ui.draggable.draggable('option', 'revert', "invalid");
}
</script>
<body>
<div id="alles">
<div class="dropzones" id="zone1"><div class="dragzones" id="drag1">Item 1</div></div>
<div class="dropzones" id="zone2"><div class="dragzones" id="drag2">Item 2</div></div>
<div class="dropzones" id="zone3"><div class="dragzones" id="drag3">Item 3</div></div>
<div class="dropzones" id="zone4"><div class="dragzones" id="drag4">Item 4</div></div>
<div class="dropzones" id="zone11"></div>
<div class="dropzones" id="zone12"></div>
<div class="dropzones" id="zone13"></div>
<div class="dropzones" id="zone14"></div>
</div>
</body>
编辑: 这里是现在的工作页面:Drag&Drop Task
有很多使用非html5拖放的例子,那就是我会推荐的。 – nycynik 2013-03-11 18:34:52
我尝试过Chrome中的tinyurl示例,我可以很好地将物品放入清空的dropzones中吗?我错过了什么? – 2013-03-11 21:59:11
@ ink.robot nop,它不起作用。将物品放在空箱子上。然后将其拖动到原来的位置,并尝试将其他物品拖到空的箱子上。你不能。 – j0k 2013-03-15 22:43:09