jQuery droppable absolute positioning and redraggable at the time
jQuery droppable absolute positioning and redraggable at the same time
因为这个,我感觉真的很愚蠢,但我真的想不通。看到我对我的 Draggables 有两个要求,我想从一个可滚动的侧面菜单移动到另一个 div:
- 我希望它们在我放置它们的位置放置
- 我希望它们在放下后可以再次拖动
现在最愚蠢的部分是,我设法实现了这两个目标,但不知何故无法让它们同时工作。
当我键入此内容时,重新拖动效果非常好,但拖动的 div 会卡到左上角:
jQuery('#droppable').droppable({
accept: '.drag',
drop: function(e, ui) {
if (!ui.draggable.hasClass("dropped"))
jQuery(this).append(jQuery(ui.draggable).clone().addClass("dropped").draggable());
}
});
但是当我添加代码来定位它时,它确实很好,但是一旦它被放下,它就永远被放下(而且原来的不能再次拖动)
jQuery('#droppable').droppable({
accept: '.drag',
drop: function(e, ui) {
if (!ui.draggable.hasClass("dropped"))
var parentOffset = jQuery('#droppable').offset();
var dropped = jQuery(ui.draggable).clone().addClass("dropped").draggable();
dropped.css('left', (ui.position.left - parentOffset.left) +'px');
dropped.css('top', (ui.position.top - parentOffset.top) +'px');
jQuery(this).append(jQuery(ui.draggable).clone().addClass("dropped").draggable());
}
});
我觉得我做错了一些非常基本的错误:)
谁能帮我?
提前致谢!
好的,知道了。万一其他人有这个问题,这对我来说是这样的:
jQuery('#droppable').droppable({
accept: '.drag',
drop: function(e, ui) {
var parentOffset = jQuery('#droppable').offset();
var off = $(ui.draggable).clone().offset();
if (!ui.draggable.hasClass("dropped"))
jQuery(this).append(jQuery(ui.draggable).clone().addClass("dropped").draggable().css({'position': 'absolute', 'left': (ui.position.left - parentOffset.left) + 'px', 'top': (ui.position.top - parentOffset.top) + 'px'}));
}
});
因为这个,我感觉真的很愚蠢,但我真的想不通。看到我对我的 Draggables 有两个要求,我想从一个可滚动的侧面菜单移动到另一个 div:
- 我希望它们在我放置它们的位置放置
- 我希望它们在放下后可以再次拖动
现在最愚蠢的部分是,我设法实现了这两个目标,但不知何故无法让它们同时工作。
当我键入此内容时,重新拖动效果非常好,但拖动的 div 会卡到左上角:
jQuery('#droppable').droppable({
accept: '.drag',
drop: function(e, ui) {
if (!ui.draggable.hasClass("dropped"))
jQuery(this).append(jQuery(ui.draggable).clone().addClass("dropped").draggable());
}
});
但是当我添加代码来定位它时,它确实很好,但是一旦它被放下,它就永远被放下(而且原来的不能再次拖动)
jQuery('#droppable').droppable({
accept: '.drag',
drop: function(e, ui) {
if (!ui.draggable.hasClass("dropped"))
var parentOffset = jQuery('#droppable').offset();
var dropped = jQuery(ui.draggable).clone().addClass("dropped").draggable();
dropped.css('left', (ui.position.left - parentOffset.left) +'px');
dropped.css('top', (ui.position.top - parentOffset.top) +'px');
jQuery(this).append(jQuery(ui.draggable).clone().addClass("dropped").draggable());
}
});
我觉得我做错了一些非常基本的错误:) 谁能帮我? 提前致谢!
好的,知道了。万一其他人有这个问题,这对我来说是这样的:
jQuery('#droppable').droppable({
accept: '.drag',
drop: function(e, ui) {
var parentOffset = jQuery('#droppable').offset();
var off = $(ui.draggable).clone().offset();
if (!ui.draggable.hasClass("dropped"))
jQuery(this).append(jQuery(ui.draggable).clone().addClass("dropped").draggable().css({'position': 'absolute', 'left': (ui.position.left - parentOffset.left) + 'px', 'top': (ui.position.top - parentOffset.top) + 'px'}));
}
});