我需要能够使用jQuery UI将元素拖出手风琴。不幸的是,被拖动的物品被“困在”手风琴中。
文档说使用:
$( ".selector" ).draggable({ appendTo: 'body' });
使被拖动的元素从其当前父元素中移除并添加到提供的元素,在本例中为body。但是,这不起作用。如果与克隆选项一起使用,它确实有效:
$( ".selector" ).draggable({ appendTo: 'body', helper: 'clone' });
但是,我不希望克隆这个元素,因为屏幕上同时有两个元素会让我们的用户感到困惑。
如何将一个项目拖出手风琴并防止它被克隆?
答案 0 :(得分:4)
shaun5的回答对我有用,我最后这样做是为了解决这个问题。行为与预期略有不同(例如,我应该更改CSS可见性属性而不是显示),但它可以工作。
$('.selector').draggable({
appendTo: 'body',
helper: 'clone',
revert: 'true',
start: function() {
$(this).hide();
},
stop: function() {
$(this).show();
}
});