jqueryUI - 在拖动开始时创建的元素不充当droppable

时间:2013-10-11 12:23:57

标签: jquery jquery-ui drag-and-drop

使用jquery的拖放,我正在创建一个元素,而我正在开始拖动,而在开始时我创建一个元素并附加到body,并将其作为一个droppable元素..

我得到了一个线索,使用我制作的作品,但它没有任何人建议我正确的方式请...

这是我的代码:

$.fn.liveDroppable = function (opts) {
    this.on("mouseenter", function () {
        if (!$(this).data("ctDropInit")) {
            $(this).data("ctDropInit", true).droppable(opts);
        }
    });
};


$("#drag").draggable({

    cursor: "move",

    start:function(){

        if($("#dropBin").length){
            $("#dropBin").remove();
        }

        $('<div/>', {
            id: 'dropBin',
            title: 'Become a Googler',
            rel: 'external',
            text: 'Go to Google!'
    }).appendTo('#container');

    }
});

$('#dropBin').liveDroppable({
    hoverClass: "highlight",
    drop: function (event, ui) {
        alert("Dropped!");
    }
});

Demo

提前致谢..

1 个答案:

答案 0 :(得分:1)

我不知道如何进行实时/动态事件处理但是如果你确实喜欢这个问题已经解决了。 Demo

$("#drag").draggable({

    cursor: "move",

    start:function(){

        if($("#dropBin").length){
            $("#dropBin").remove();
        }

        $('<div/>', {
            id: 'dropBin',
            title: 'Become a Googler',
            rel: 'external',
            text: 'Go to Google!'
        }).appendTo('#container');

        $('#dropBin').droppable({
            hoverClass: "highlight",
            drop: function (event, ui) {
                alert("Dropped!");
            }
        });
    }
});