jQuery 拖动时可拖动的克隆大小

jQuery draggable clone size while dragging

我正在开发拖放应用程序。我有一个可放置和可拖动的容器。

$( "#dragshock" ).draggable( 
    {
        helper: "clone",
        cursor: 'move',
        drag: resizeContainer
    }
);

拖动调用的函数是这个:

function resizeContainer(e, ui) {
    var defaultSize = 108;
    var factor = ((ui.position.top)/19);
    var correcteSize = defaultSize + factor;
    $(this).width(correcteSize);
}

可放置容器上的函数是这个:

$("#selectedpicture").droppable({
    drop: function (event, ui) {
        var $canvas = $(this);
        if (!ui.draggable.hasClass('canvas-element')) {
            var $canvasElement = ui.draggable.clone();
            $canvasElement.addClass('canvas-element');
            $canvasElement.draggable({
                containment: '#geselecteerdefoto'
            });
            $canvas.append($canvasElement);
            var defaultSize = 108;formaat
            var factor = ((ui.position.top)/19);
            var correcteSize = defaultSize + factor;
            var imgSize = correcteSize;

            $canvasElement.css({
                left: (ui.position.left),
                top: (ui.position.top),
                width: imgSize,
                position: 'absolute'
            });
        }
    }
});

目前,draggable 中的 "drag: resizeContainer" 行导致被拖动的容器在拖动时调整大小,而不是跟随鼠标指针的克隆。

不过,我想要实现的是,在拖动时,当在容器内向下拖动时,对象已经在视觉上调整了大小。放下时,应保持调整大小。

http://jsfiddle.net/q7zkpc6s/

我找到了解决办法。这比我想的要容易。

将 resizeContainer 中的 $(this).width(correcteSize) 行替换为

$(ui.helper).width(correcteSize);

我将 fiddle 更新为正确的以供将来参考。