Javascript 如何将一个div拖放到另一个div中,并使整个元素跟随?
试图使用jqueryUI。我有一个列表,其中包含我想放入gridsystem的组件。像一个设计师的东西。 我有一个潜水艇Javascript 如何将一个div拖放到另一个div中,并使整个元素跟随?,javascript,jquery,jquery-ui,drag-and-drop,Javascript,Jquery,Jquery Ui,Drag And Drop,试图使用jqueryUI。我有一个列表,其中包含我想放入gridsystem的组件。像一个设计师的东西。 我有一个潜水艇 $( "#Component1" ).draggable(); 我把上面的div放在这个div中: $( "#GridDiv" ).droppable({ accept: "#component1" }); 我想要的结果是,当我在GridDiv <div id="#GridDiv"> <div id="#Component1"><
$( "#Component1" ).draggable();
我把上面的div放在这个div中:
$( "#GridDiv" ).droppable({
accept: "#component1"
});
我想要的结果是,当我在GridDiv
<div id="#GridDiv">
<div id="#Component1"></div>
</div>
有什么办法吗?我找不到它。在下列情况下,您必须自己移动元件: PS:您不需要在ID字段中使用#:
<div id="GridDiv">
<div id="Component1"></div>
</div>
下面是一个由于在附加到另一个div时拖动的元素的样式存在问题(有关详细信息,请参阅),下面是另一种方法:
$('#GridDiv').droppable({
accept: "#Component1",
drop: function (event, ui) {
var draggable = ui.draggable;
var offset = draggable.offset();
draggable.appendTo( this ).offset( offset );
}
});
以下演示略有不同:它删除了原始的拖动元素,因此拖动功能丢失:
$('#GridDiv').droppable({
accept: "#Component1",
drop: function (event, ui) {
var draggable = ui.draggable;
var offset = draggable.offset();
draggable.remove().appendTo( this ).offset( offset );
}
});
要在拖放后调整拖放的大小,可以使用:
draggable.resizable();
参考
以上所有答案都不正确,因为所有输出都放在窗口顶部,例如,对象放在顶部:0px和左侧:0px位置。 试试下面
var droppable = $(this);
var draggable = ui.draggable;
ui.draggable.position({ of: $(this), my: 'left top', at: 'left top' });
在工作中,我也有过类似的经历。dropable.append(draggable.remove());这去除可能是他们的问题吗?因为我的div没有得到依偎:(修复。现在检查答案!您的accept属性
#component1
必须是#component1
@user3510507有没有按照@nanndoj指出的那样更正您的ID,
应该只有
。与您的另一个div相同…我用php打印了一个div,并且它不起作用。现在我在t中做了一个div。)然后它就可以工作了…你知道当组件在网格内时,我如何移动它并调整它的大小吗?
var droppable = $(this);
var draggable = ui.draggable;
ui.draggable.position({ of: $(this), my: 'left top', at: 'left top' });