为什么这段代码不允许我将助手拖放到可拖放区域?
$(".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 );
}
});
是否有可能将助手放到可放置的物体上?
最佳答案
完全可以删除助手的克隆,但是助手本身(如您的示例中)无法删除。
这是一个 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);
}
});
在 jquery 中执行 drop 后,助手将被删除。为了保留它,您需要删除可拖动的特定 css 和定位以及克隆元素。在 jsFiddle 中,还有一个删除“draggable”元素的演示(并不是说它与您的问题特别相关,我只是为自己添加它。)
希望有帮助
关于jquery - 无法在 droppable 上删除 jquery ui helper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4660127/