我使用jQuery ui draggable但选项appendTo不起作用.但是其他选项如遏制或网格正常工作.这是代码:
<div id="demo"> </div> <div id="sidebar"> <div class="item"> </div> <div class="item"> </div> <div class="item"> </div> <div class="item"> </div> </div>
脚本@H_502_3@
jQuery(".item").draggable({ appendTo: "#demo",grid: [ 10,10 ],containment: "#demo" });
CSS@H_502_3@
#demo { width: 500px; height: 500px; border: 1px solid black; float: left; } #draggable { background: red; width: 50px; height: 50px; } #sidebar { float: left; width: 300px; } .item { cursor: pointer; background: black; width: 100px; height: 100px; margin: 10px; }
这是一个现场演示:http://jsfiddle.net/fzjev/@H_502_3@
解决方法
这是一个关于这个问题的公开错误 –
Draggable: appendTo option doesn’t work together with helper: ‘original’.
建议的解决方法是使用帮助程序:’clone’并在拖动开始/停止时隐藏/显示原始文件.@H_502_3@
例如@H_502_3@
$('.draggyThing').draggable({ appendTo: '.dropArea',helper: 'clone',start: function (event,ui) { $(this).hide(); },stop: function (event,ui) { $(this).show(); } });
然后,您可能希望手动将可拖动元素附加到droppable元素的drop.@H_502_3@
$('.dropArea').droppable({ accept: '.draggyThing',drop: function (event,ui) { $('.dropArea').append(ui.draggable); } });