0

Я использую jQuery UI Draggable и Droppable. Когда перетаскиваемый объект находится над droppable, droppable будет скользить вниз, что приведет к перетаскиванию вниз и от моей мыши.jQuery UI Draggable Position не освежает?

Пожалуйста, смотрите пример здесь http://jsfiddle.net/shane716/tB4L3/2/

Я пытался добавить refreshPositions: истинный к перетаскиваемым, но это не решает проблему.

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/

Мой вопрос заключается в том, чтобы держать позицию перемещаемой та же, как мой мыши

+0

Давая им свой «перетащить меня» Див в 'позицию: абсолютный' он отлично работает для меня –

ответ

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(); 
    } 
});