Ala*_*law 6 jquery drag-and-drop
为什么这段代码不允许我将帮助器放到可放置区域?
$(".product").draggable({
revert: 'invalid',
cursorAt: { top: -12, left: -20 },
helper: function(event) {
return $('<div class="product_helper"></div>');
}
});
$(".droppable").droppable({
accept: '.product_helper',
drop: function(event, ui) {
$(this).append( ui.helper );
}
});
Run Code Online (Sandbox Code Playgroud)
甚至可以将帮助器放在一个可放置的支架上吗?
Jas*_*son 11
完全可以删除帮助程序的克隆,但是不能删除帮助程序本身(如在您的示例中).
这是一个jsFiddle演示放弃一个克隆的帮手:http: //jsfiddle.net/jKabn/1/
这是相关的代码:
$(".product").draggable({
revert: 'invalid',
cursorAt: { top: -12, left: -20 },
helper: function(event) {
return $('<div class="helper">Helper</div>');
}
});
$(".droppable").droppable({
drop: function(event, ui) {
//clone and remove positioning from the helper element
var newDiv = $(ui.helper).clone(false)
.removeClass('ui-draggable-dragging')
.css({position:'relative', left:0, top:0});
$(this).append(newDiv);
}
});
Run Code Online (Sandbox Code Playgroud)
在jquery中执行drop之后删除帮助程序.为了保持它,你需要删除可拖动的特定css和定位以及克隆元素.在jsFiddle中还有一个关于删除"draggable"元素的演示(并不是说它与你的问题特别相关,我只是为自己添加它.)
希望有所帮助