Jquery draggable(),clone()追加div ...请小提琴我的jsfiddle

时间:2013-08-28 19:40:24

标签: jquery jquery-ui

更新:

http://jsfiddle.net/wJUHF/7/
这是任何可能阅读此内容的人的更新和工作小提琴。


我正试图让这个小伙子工作。

这就是问题所在。我可以将图像拖到容器中。它附加一个克隆,没有问题。当我单击以将克隆的图像拖动到容器中时,它第一次正常工作。我第二次点击拖动,它不会拖动但克隆已经克隆的图像。为了更好地理解,我创建了一个jsfiddle。请看看,让我知道我在哪里错了。

http://jsfiddle.net/wJUHF/

由于

CODE:

$(function(){  
    //Make every clone image unique.  
    var counts = [0];  
    $(".dragImg").draggable({
        helper: "clone",
        //Create counter
        start: function() { counts[0]++; }
    });

    $("#dropHere").droppable({
        drop: function(e, ui){
            $(this).append($(ui.helper).clone());
            //Pointing to the dragImg class in dropHere and add new class.
            $("#dropHere .dragImg").addClass("item-"+counts[0]);
            //Remove the current class (ui-draggable and dragImg)
            $("#dropHere .item-"+counts[0]).removeClass("dragImg ui-draggable ui-draggable-dragging");
            //not working 100%           
            $(".item-"+counts[0]).dblclick(function(){
                $(this).remove();
            });     

            //make the div draggable --- Not working???    
            make_draggable($(".item-1"));              
        }
    });

    var zIndex = 0;
    function make_draggable(elements)
    {   
        elements.draggable({
            containment:'parent',
            start:function(e,ui){ ui.helper.css('z-index',++zIndex); },
            stop:function(e,ui){}
        });
    }
});

HTML:

<body>
    <div class="dragImg"><img src="http://placehold.it/80x80">
     </div>
    <div id="dropHere"></div>
</body>

CSS:

#dropHere {
    width:400px;
    height: 400px;
    border: dotted 1px black;
}

2 个答案:

答案 0 :(得分:4)

你只需要一个条件来区分掉落处理程序:

if(ui.draggable.hasClass("dragImg"))
     $(this).append($(ui.helper).clone());

答案 1 :(得分:4)

jQuery(".dragImg").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',
        containment: "document"
    });

<强> SOLVED UR PROBLEM JSFIDDLE DEMO