jQuery UI Draggable使用帮助程序恢复

时间:2015-02-17 15:53:25

标签: jquery-ui drag-and-drop

这基本上是一个后续问题,因为不鼓励在评论中提出进一步的问题: Draggable revert if outside this div and inside of other draggables (using both invalid and valid revert options)

即使我的用例不完全相同,这个解决方案也能很好地工作。只有一个小视觉的东西困扰着我。我有相当大的可拖动对象,所以我正在使用它的助手。无论丢弃是否有效,帮助程序仍然有一个恢复动画: 如果它是无效的丢弃,则辅助程序在消失之前移动到原始位置,这很好。 但如果它是一个有效的下降,它会做同样的事情,而原始的移动到有效的位置。任何想法如何防止这种情况。

这是助手定义的简短片段:

helper: function() {
    var jqThis = jQuery(this);
    var helper = jQuery('<div class="helper"/>');
    helper.text(jqThis.text().substr(0, 100));
    helper.css('width', jqThis.css('width'));
    return helper;
}

1 个答案:

答案 0 :(得分:0)

我只是想通了:如果它是一个有效的下降,我必须将选项设置回“无效”。

if (invalidDrop) {
    drag.draggable('option','revert',true);
} else {
    drag.draggable('option','revert','invalid');
}