在jQuery中拖动已删除元素的克隆

时间:2012-01-09 10:13:33

标签: javascript jquery jquery-ui

我试图拖动被删除的元素,它是拖动元素的克隆,但是当我拖动元素时,它会在页面中创建另一个元素。这是我的代码..

jQuery(function() {
    jQuery(".component").draggable({
        //  use a helper-clone that is append to 'body' so is not 'contained' by a pane
        helper:  function () { 
            return jQuery(this).clone().appendTo('body').css({'zIndex':5}); 
        },
        cursor: 'move'
    });

    jQuery('.ui-layout-center').droppable({
        activeClass: 'ui-state-hover',
        accept:  '.component',
        drop:  function(event, ui) {
            jQuery(this).append(jQuery(ui.draggable).clone().draggable()); 
        }
    });
});

是否有任何缺失命令使每个拖动成为新的克隆?

2 个答案:

答案 0 :(得分:1)

你应该有一个类,以表明该元素已被删除,你可以移动它,但你不应该克隆它。 你可以看看这个小提琴:http://jsfiddle.net/scaillerie/njYqA/。 在drop的处理程序中,我只需要替换此代码:

if (!ui.draggable.hasClass("dropped"))
    jQuery(this).append(jQuery(ui.draggable).clone().addClass("dropped").draggable());

答案 1 :(得分:0)

jQuery(this).append(jQuery(ui.draggable).clone().draggable());您忘记了.clone()