jQuery draggable重叠多个droppable,错误丢弃

时间:2015-03-04 14:09:03

标签: jquery jquery-ui-draggable jquery-ui-droppable

我创造了这个小提琴

http://jsfiddle.net/v3L7A/14/

$(function () {

$('#draggable').draggable({
    helper: 'clone'
});

$('#droppable1, #droppable2').droppable({
    drop: function (event, ui) {
        $(this)
            .append(ui.helper.clone(false).css({
            position: 'relative',
            left: '0px',
            top: '0px'
        }));
    }
});

});

当我拖动文本时,我希望drop“anchor”成为其左上角,但是,始终将转到中间单元格。

我怎么能这样做,无论被拖动的元素的宽度如何,如果它跨越多个droppables,它会转到鼠标结束的那个,还是第一个?

1 个答案:

答案 0 :(得分:0)

您可以使用tolerance参数修改重叠行为。要将其放在鼠标指针处,请将其设置为"pointer"

有关更多选项,请参阅Droppable API,例如"fit"(可拖放重叠可放置100%),"intersect"(50%)或"touch"(任意%)

小提琴:http://jsfiddle.net/v3L7A/15/

$(function () {
    $('#draggable').draggable({
        helper: 'clone'
    });

    $('#droppable1, #droppable2').droppable({
        tolerance: "pointer",
        drop: function (event, ui) {
            $(this)
                .append(ui.helper.clone(false).css({
                position: 'relative',
                left: '0px',
                top: '0px'
            }));
        }
    });
});