0

我正在使用 jQuery UI Draggable 和 Droppable。当可拖动对象位于可放置对象上方时,可放置对象将向下滑动,这会将可拖动对象向下推并远离我的鼠标。

请在此处查看示例 http://jsfiddle.net/shane716/tB4L3/2/

我尝试将 refreshPositions:true 添加到可拖动对象中,但这并不能解决问题。

HTML 代码

<table>
<tr class="droppable"><td>Drop to here</td></tr>
<tr id="slidedown" style="display:none">
    <td>
        <div>
        A<br />
        A<br />
        A<br />
        A<br />
        A<br />
        </div>
    </td>
</tr>
<tr><td class="draggable">Drag Me</td></tr>

jQuery 代码

$(".draggable").draggable({
    revert: "invalid", 
    cursor: "move",
    opacity: 0.7,
    refreshPositions: true,
});

$(".droppable").droppable({
    greedy: true,
    accept: ".draggable",
    activeClass:"droppable-active",
    tolerance: "pointer",
    over: function(event, ui) {
    $("#slidedown").slideDown({duration:2000});
}

});

带有“助手”的事件,“助手”不会恢复到可拖动的位置。 http://jsfiddle.net/shane716/tB4L3/3/

我的问题是如何保持可拖动的位置与鼠标的位置相同

4

1 回答 1

2

你可以使用一个助手:http: //jsfiddle.net/tB4L3/4/

$(".draggable").draggable({
    revert: "invalid",
    cursor: "move",
    opacity: 0.7,
    helper: function () {
        return $(this).clone().appendTo('body');
    },
    start: function () {
        $(this).hide();
    },
    stop: function () {
        $(this).show();
    }
});
于 2013-07-30T18:28:00.733 回答